初探UITabBarButton之结构

众所周知,在iOS开发中UITabBar是一个封装的UI控件,苹果在文档中提供的接口和属性非常有限,要想自定义一个富有个性的UITabBar还是需要花点功夫的。

在自定义tabBarItem的选中背景图片和文字颜色时,需要用到tabBar的一个子视图UITabBarButton,UITabBarButton是一个隐藏的子类,所谓隐藏是苹果没有在文档中明确提供却对视图的显示起着至关重要的作用。

先看看UITabBar的结构,代码如下:

for (UIView *subView in tabBar.subviews) {

NSLog(@"subItemView.className -- %@",[subView class]);

}

UITabBar子视图类名打印结果

可以看到,UITabBar的结构里,有两个隐藏的类_UITabBarBackgroundView,UITabBarButton,可以看出底部的tabBarItem应该是一个UIButton的衍生类,那我们继续探寻UITabBarButton的结构,代码如下

打印UITabBarButton代码

打印结果

打印UITabBarButton输出结果

结果输出有多了连个东东,UITabBarSwappableImageView,UITabBarButtonLabel,从名字上面看出,一个负责背景图显示,一个负责文字显示,这和UIButton有异曲同工之妙。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,283评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 12,164评论 9 105
  • 样瓶号:1 采样时间:8:30 采集瓶数:3瓶 牦牛品种:灰牦牛, 牧民姓名:沙莫. 采样详细地址:邛溪镇热坤村...
    耿帅4444阅读 935评论 0 0
  • 古存:之乎者也!今着:呀吗呢啊! 前者慢条斯理 后者长叹急燥 虚词也是一种气 叹词也是一种气 无任何释义的字根 只...
    背山闲人阅读 228评论 0 0
  • 不要老想着过去 更不要想着想着就回去看看。 我恍惚觉得你们还在身边 已经过去370天 去年的7月30号我开始遇见你...
    迪酵家的泰迪阅读 209评论 0 0

友情链接更多精彩内容