iOS8 自定義UITabBar (使用popToViewController致使的UITabBarButton重疊的問題)

想看詳細的,能夠看這篇文章,有時候 在popToViewController 的時候 ,本來一開始被咱們移除的UITabbarButton會莫名其妙的再次加載到UITabBar上了,考慮到咱們一開始就在UITabBarController的- ViewDidLoad 方法裏面移除了,以下面這樣:iphone

//@interface MainTabBarController : UITabBarController

- (void)viewDidLoad {

    for (UIView *subView in self.tabBar.subviews) {
    
        [subView removeFromSuperview];
     }
     //自定義一些控件子視圖
 }
複製代碼

並且 -ViewDidLoad 此方法在生命週期裏面只會走一次,因此咱們判定必定是在Apple 在 [super viewWillLayoutSubviews] 作了一些判斷,因此咱們必需要在 [super viewWillLayoutSubviews] 以後再移除掉就好了ui

//@interface MainTabBarController : UITabBarController

- (void)viewWillLayoutSubviews {

    [super viewWillLayoutSubviews];

    for (UIView *subView in self.tabBar.subviews) {
    
        ![subView isKindOfClass:NSClassFromString(@"UITabBarButton")] ?: [subView removeFromSuperview];
    }
}
複製代碼
相關文章
相關標籤/搜索