RedRain的簡書:http://www.lxweimin.com/users/29e03e6ff407/latest_articles
起因: 自定義的TabbarView, 在viewWillAppear中刪除了系統tabbar上面的item, 一切想象的那么美好, 但是在利用popToRootViewControllerAnimated的時候, 原本刪除的item又出現了
WTF !? 什么鬼!
打斷點發現, 退回的時候并沒有調用viewWillAppear, 使用這里面的按鈕沒被刪除掉, 具網友說是在iOS8, 這個item會動態的添加所以之前刪除的item又出現了, 既然viewWillAppear不能捕捉到這個返回的timing
, 就換另找方法來處理, 那么就是它了!~
-(void)viewWillLayoutSubviews
解決方法:完美收官~ 撒花 ????????
-(void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
// 刪除系統自動生成的UITabBarButton
for (UIView *child in self.tabBar.subviews) {
if ([child isKindOfClass:[UIControl class]]) {
[child removeFromSuperview];
}
}
[super viewWillAppear:animated];
}
- (void)viewWillAppear:(BOOL)animated
{
// 刪除系統自動生成的UITabBarButton
for (UIView *child in self.tabBar.subviews) {
if ([child isKindOfClass:[UIControl class]]) {
[child removeFromSuperview];
}
}
[super viewWillAppear:animated];
}