想看詳細(xì)的晌涕,可以看這篇文章浩销,有時候 在popToViewController 的時候 搪缨,原本一開始被我們移除的UITabbarButton會莫名其妙的再次加載到UITabBar上了佩憾,考慮到我們一開始就在UITabBarController的- ViewDidLoad 方法里面移除了盏阶,如下面這樣:
//@interface MainTabBarController : UITabBarController
- (void)viewDidLoad {
for (UIView *subView in self.tabBar.subviews) {
[subView removeFromSuperview];
}
//自定義一些控件子視圖
}
而且 -ViewDidLoad 此方法在生命周期里面只會走一次,所以我們斷定一定是在Apple 在 [super viewWillLayoutSubviews]
做了一些判斷绪氛,所以我們必須要在 [super viewWillLayoutSubviews]
之后再移除掉就行了
//@interface MainTabBarController : UITabBarController
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
for (UIView *subView in self.tabBar.subviews) {
![subView isKindOfClass:NSClassFromString(@"UITabBarButton")] ?: [subView removeFromSuperview];
}
}