[RedRain笔记] - UITabBar与popToRootViewControllerAnimated的恩怨

RedRain的简书:http://www.jianshu.com/users/29e03e6ff407/latest_articles

起因: 自定义的TabbarView, 在viewWillAppear中删除了系统tabbar上面的item, 一切想象的那么美好, 但是在利用popToRootViewControllerAnimated的时候, 原本删除的item又出现了

WTF !? 什么鬼!

打断点发现, 退回的时候并没有调用viewWillAppear, 使用这里面的按钮没被删除掉, 具网友说是在iOS8, 这个item会动态的添加所以之前删除的item又出现了, 既然viewWillAppear不能捕捉到这个返回的timing, 就换另找方法来处理, 那么就是它了!~

 -(void)viewWillLayoutSubviews

解决方法:完美收官~ 撒花 ❀❀❀❀❀❀❀❀

-(void)viewWillLayoutSubviews{
    [super viewWillLayoutSubviews];
    // 删除系统自动生成的UITabBarButton
    for (UIView *child in self.tabBar.subviews) {
        if ([child isKindOfClass:[UIControl class]]) {
            [child removeFromSuperview];
        }
    }
    [super viewWillAppear:animated];
}

- (void)viewWillAppear:(BOOL)animated
{
    // 删除系统自动生成的UITabBarButton
    for (UIView *child in self.tabBar.subviews) {
        if ([child isKindOfClass:[UIControl class]]) {
            [child removeFromSuperview];
        }
    }
    [super viewWillAppear:animated];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,193评论 4 61
  • (完成于两个月前。) 总觉得一发布自己的心情,就像赤身裸体狂奔在公共场所,完全暴露在别人的视野里。就像...
    舞文弄墨的狗阅读 1,306评论 0 1
  • 山水有相逢 泉乡风轻抚 浪起水潺潺 三万米西东 五刻钟白昼 时光,谦谦君子温润如玉 故知,夭夭四月笑靥如花 是日,...
    木呈一阅读 1,937评论 3 1
  • 做为一名心理咨询师,尤其是以情感为主要方向的治疗师,我常常会听到很多的故事。多半与爱情有关,可,实际上,又与爱情...
    雨昕阅读 4,903评论 1 2