主要内容:标签视图(UITabBarController)
一、使用场景
UITabBarController分为三层
UITabBarController的重要属性
属性 | 含义 |
viewControllers | 显示视图控制器 |
tabBar | 标签栏 |
delegate | 代理 |
selectedIndex | 选中某个tabBarItem |
二、UITabBar
1、tabBar是UITabBar对象包含多个UITabBarItem,
2、每一个tabBarItem对应一个viewController,tabBar高度是49
3、当tabBarItem超过5个时,系统会自动添加一个更多按钮,点击更多按钮,剩下没有没有在底部出现的那些按钮会以列表的形式显示出来
4、tabBar属性:tintColor、barTintColor、图像设置
5、tabBarItem可以设置tittle、image、badgeValue
如果想通过一键设定所有导航控制器的颜色,类似于QQ的一键换肤的功能,可以通过UIAppearance协议进行操作,通过它可以对一些空间进行自定义颜色操作等
三、Block
block是匿名函数,能够实现函数的回调功能,用于页面间的通信,也可以用于传值
注意:
1、定义属性接收block,必须用copy,retain无效,即retain和assign会造成野指针问题
2、block在某个方法中定义时存储在栈区,在另一个类中使用需要进行copy,存储在堆区
3、当不使用block时,进行销毁,Block_release()
4、在block实现部分,不能直接使用实例变量、self调用属性、因为block会造成self引用计数+1,最终导致循环引用的问题
5、所有要使用__block解决循环引用的问题
block实现回调功能,清晰、简化代码
时间: 2024-10-11 20:14:54