我是这样的子类UINavigationController:
@implementation BaseNavigationController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor colorWithRed:0.95 green:0.95 blue:0.95 alpha:1];
}
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
if (self.viewControllers.count) {
viewController.hidesBottomBarWhenPushed = YES;
}
[super pushViewController:viewController animated:animated];
}
而且我也是这样的UIViewController的子类:
@implementation BaseViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.tabBarController.tabBar.translucent = NO;
self.navigationController.navigationBar.translucent = NO;
self.view.backgroundColor = [UIColor colorWithRed:0.95 green:0.95 blue:0.95 alpha:1];
}
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
我的所有视图控制器都继承了baseViewController,我的所有导航控制器都继承了baseNavigationController。
UITabBarViewController - > BaseNavigationController - > BaseViewController
问题有时是我的应用程序从后台返回并点击一个单元格(UITableView或UICollectionView),pushViewController不起作用,应用程序卡住。或者有时只有导航栏被推送到下一个视图控制器,显示下一个视图控制器& #39;标题和应用程序也会卡住。调用下一个视图控制器的viewDidLoad方法。
我已经担心了一个星期,我不知道为什么会这样,所以请帮我解决这个奇怪的问题。
有时候不是100%得到这个问题。谢谢。