初探UITabBarButton之结构

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

初探UITabBarButton之结构_第1张图片
初探UITabBarButton之结构_第2张图片

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

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

for (UIView *subView in tabBar.subviews) {

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

}

初探UITabBarButton之结构_第3张图片
UITabBar子视图类名打印结果

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

初探UITabBarButton之结构_第4张图片
打印UITabBarButton代码

打印结果

打印UITabBarButton输出结果

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

你可能感兴趣的:(初探UITabBarButton之结构)