自定义TabBarController无法删除系统TabBar,导致重影问题

问题重现

问题如图:

6A8C07AE-7026-429D-88EB-445F5799ED32.png

创建文件,命名为TabBarViewController

TabBarViewController.h

@interface TabBarViewController : UITabBarController

TabBarViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 添加tabbar
    [self setupTabBar];
    
    // 添加子控制器
    [self setupChildsViewController];
    
    // 删除系统自带的
    // *****问题就在此,subViews获取不到系统的TabButton
    for (UIView *tabButton in self.tabBar.subviews) {
        if(![tabButton isKindOfClass:[MainTabBar class]])
        {
            [tabButton removeFromSuperview];
        }
    }
}

解决方法:

注:其实没搞明白原理,感觉挺奇葩,在这记录下,看大家能不能解释一下

解决:创建自定义的UITabBarViewController,命名改为MainTabBarViewController

B49189E6-CD1B-429D-BFCE-A86E3C1439D4.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容