想看詳細的,能夠看這篇文章,有時候 在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];
}
}
複製代碼