我正在实施 Three20 项目中的 TTThumbsViewController,事情终于开始成形。我从当前视图控制器推送 TTThumbsViewController,只需将其推送到当前堆栈并为过渡设置动画(普通导航控制器推送)。
我的问题是,当我弹出 TThumbsViewController 视图控制器时,导航控制器卡在其视图控制器绘制在导航栏下方(现在是半透明的)的模式中。
开始
推
流行音乐
我正在实施 Three20 项目中的 TTThumbsViewController,事情终于开始成形。我从当前视图控制器推送 TTThumbsViewController,只需将其推送到当前堆栈并为过渡设置动画(普通导航控制器推送)。
我的问题是,当我弹出 TThumbsViewController 视图控制器时,导航控制器卡在其视图控制器绘制在导航栏下方(现在是半透明的)的模式中。
开始
推
流行音乐
当您的视图重新出现时,您需要重新配置状态栏、导航栏和工具栏的原始样式。您可以通过viewWillAppear:
在视图控制器中实现来做到这一点:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UINavigationController* navController = self.navigationController;
navController.navigationBar.barStyle = UIBarStyleDefault;
navController.navigationBar.tintColor = [UIColor redColor];
navController.toolbar.tintColor = [UIColor redColor];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
}
看起来您从中推送的视图控制器没有从 TTViewController 继承。在视图从堆栈中弹出后,您可能还需要将“navigationBarTintColor”属性设置回原始颜色;如果您没有设置全局样式表。