页签视图控制器-UITabBarController 自定义UITabBar block高级
一.UITabBarController
结构为三层:Tab bar controller view Custom content Tab bar
UITabBarController的属性
viewControllers 显示视图控制器 tabBar 标签栏 delegate 代理
通过协议来监听当前选择的是哪个视图控制器
二. 自定义UITabBar
tabBar是UITabBar对象,包含多个UITabBarItem,每一个tabBarItem对应一个viewController,tabBar高度49
当tabBarItem超过5个时,系统会自动增加一个更多按钮,点击更多按钮,没有在底部出现的哪些按钮会以列表形式显示出来
第五个按钮会成系统的样式,如果想要实现自定义第五个以后的按钮显示的图标样式,要只写五个UITabBarItem,第五个实现自定义,包含多个其他的Item
三.控制器嵌套使用
可以把UINavigationController 作为UITabBarController的一个子控制器
也可以把UITabBarController作为UINavigationController的根控制器
四.block实现回调
block最大的优势就是实现回调,替代delegate部分功能
block回调的机制与delegate传值很类似
demo:bolock实现不定时登录
总结1:UITabBarController是项目开发中常见的布局样式,与UINavigationController不同,它的viewControllers都是并列的.而UINavigationController的则是层次的
UITabBar通常都会定义外观以适应程序风格,必要时会完全自定义
总结2:UITabBarController UINavigationController UITableViewController通常都是组合出现,这种布局方式特别常见,一定要熟练应用
UITabBarController可以嵌套UINavigationController
UINavigationController也可以嵌套UITabBarController
实例代码: