5

我正在实施 Three20 项目中的 TTThumbsViewController,事情终于开始成形。我从当前视图控制器推送 TTThumbsViewController,只需将其推送到当前堆栈并为过渡设置动画(普通导航控制器推送)。

我的问题是,当我弹出 TThumbsViewController 视图控制器时,导航控制器卡在其视图控制器绘制在导航栏下方(现在是半透明的)的模式中。

开始

替代文字

替代文字

流行音乐

替代文字

4

2 回答 2

10

当您的视图重新出现时,您需要重新配置状态栏、导航栏和工具栏的原始样式。您可以通过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];
}
于 2010-03-29T08:37:44.470 回答
1

看起来您从中推送的视图控制器没有从 TTViewController 继承。在视图从堆栈中弹出后,您可能还需要将“navigationBarTintColor”属性设置回原始颜色;如果您没有设置全局样式表。

于 2010-02-23T22:24:39.710 回答