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