使用系统自带控件还是自定制(TabBar、SearchBar、TableView和CV新增动画效果)

本文探讨了在iOS开发中如何处理TabBar的隐藏、自定义以及更多场景,包括uitabbarcontroller的交互问题。接着,详细介绍了UISearchController的使用技巧,如present和push的展示效果,以及自定义搜索栏的需求。最后,分析了UITableView和UICollectionView的插入、重载动画效果,并展示了不同动画类型的行为差异。
摘要由CSDN通过智能技术生成

TabBar

1、UITabBarController的tabBar可以通过设置hidden隐藏。

2、创建UITabBarController的子类比如RCTabBarController,实现- tabBar:willBeginCustomizingItems:,会发现这个方法在点击More按钮显示的页面(More按钮在UITabBarController的viewControllers超过5个时显示),点击该页面的“Edit”按钮弹出一个右上角带有“Done”按钮的视图时(出现这个视图时,可以拖动底下UITabBar的各个tab交换位置,然后“- tabBar:didEndCustomizingItems:changed:”的changed会返回YES),会调用这个方法。如果RCTabBarController设置了delegate实现了- tabBarController:willBeginCustomizingViewControllers:时,这个“tabBarController:xxx”方法并不会调用,只有当RCTabBarController没有实现- tabBar:willBeginCustomizingItems:时才会调用。

3、给UITabBarController的tabBar设置delegate或者发送beginCustomizingItems(比如在RCTabBarController的实现文件中调用“[self.tabBar beginCustomizingItems:@[item1, item2, item3]];”),都会崩溃,原因“Directly modifying a tab bar managed by a tab bar controller is not allowed.”。

4、由于UITabBarController的tabBar大小不能改变,每个item样式只有图片和文字且无法添加动画效果(UITabBarItem其实是一个NSObject而不是UIView,所以没有途径获取其中的图片和文字视图),所以特殊的底部标签栏要通过自定制TabBar实现。如果自定制TabBarController,则也许需要添加UIViewController分类实现tabBarController、hidesBottomBarWhenPushed等相关方法,还有状态保存等UITabBarController自带的功能都需要自己实现,如果用不到这些功能就暂时不实现;如果继承UITabBarController,需要隐藏自带的UITabBar然后使用自定制的TabBar,而且UITabBarController自带一个不需要的moreNavigationController,还有UITabBarController与UITabBar相关的属性方法都需要修改。

SearchBar<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值