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

问题重现

问题如图:

自定义TabBarController无法删除系统TabBar,导致重影问题_第1张图片
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

自定义TabBarController无法删除系统TabBar,导致重影问题_第2张图片
B49189E6-CD1B-429D-BFCE-A86E3C1439D4.png

你可能感兴趣的:(自定义TabBarController无法删除系统TabBar,导致重影问题)