自定義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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容