首页 > 代码库 > UI第十三课

UI第十三课

主要内容:标签视图(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实现回调功能,清晰、简化代码

UI第十三课