iOS8 自定义UITabBar (使用popToViewController导致的UITabBarButton重叠的问题)

来源:互联网 发布:淘宝活体交易规则 编辑:程序博客网 时间:2024/06/10 04:54

最近工作中遇到自己定义的tabbar在iOS8 中重叠的情况.就是原本已经移除的UITabBarButton再次出现。

折腾了半天,都不知道原因所在。

最后翻阅文档。 说在iOS8 是允许动态添加tabbaritem的。所以,我猜想会不会是因为这个原因。那为什么iOS7又是没有问题的呢?

回到正题。既然是动态添加。那么按照apple的一贯作风。一定会调用viewWillAutolayout这个方法。

解决方法:

/** *  视图即将显示的时候会调用这个方法 */-(void)viewDidAppear:(BOOL)animated{    [super viewDidAppear:animated];            //删掉系统默认的tabBarItem    for (UIView *child in self.tabBar.subviews) {        if ([child isKindOfClass:[UIControl class]]) {            [child removeFromSuperview];        }    }}/** *  自己定义的tabbar在iOS8 中重叠的情况.就是原本已经移除的UITabBarButton再次出现 在iOS8 是允许动态添加tabbaritem的 */-(void)viewWillLayoutSubviews{        [super viewWillLayoutSubviews];        for (UIView *child in self.tabBar.subviews) {                if ([child isKindOfClass:NSClassFromString(@"UITabBarButton")]) {                        [child removeFromSuperview];        }    }}


0 0
原创粉丝点击