您的位置:首页 > 产品设计 > UI/UE

经验之谈—自定义tabbar(继承于UITabBar)

2015-12-16 23:58 369 查看
自定义tabbar一般来说有两种方式,一种是继承于系统的UITabBar,一种是继承与UIView的tabbar。

我们现在来看一下继承与UITabBar这种情况中需要注意的一些细节。其实继承与UITabBar我们无非是想修改一下tabbar中的子控件的frame或者是添加子控件等。

我们接下来添加一个按钮到自定义的tabbar上。

注意的地方:我们先打印一下看看UITabBar里面存在的子控件:



我们可以看出,这里打印出了除UITabBarButton之外的两个控件:UITabBarBackgroundView和UIImageView。

从尺寸我们就能很明显的看出。UITabBarBackgroundView就是这个tabbar的背景图片,然后UIImageView就是上面的那一根线。那么在自定义控件设置frame的时候,就不能直接拿出下标或者self.subviews.count。来获得子控件的个数了。要进行判断了:

[code]for (UIView *child in self.subviews)
    {
        Class class = NSClassFromString(@"UITabBarButton");
        if ([child isKindOfClass:class])
        {
            //设置frame的代码
        }

    }


因为这个UITabBarButton是一个私有的,所以我们通过上面这个方法来进行判断一下,再设置我们的frame,就去除了刚刚那两个控件的干扰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: