【发布时间】:2013-09-13 05:47:00
【问题描述】:
我遇到了一个奇怪的问题。我有两个视图控制器。一个 homeViewController 和一个 settingViewController。
homeViewController 没有导航栏,而 settingViewController 有。
现在的问题是,当我按下 settingViewController 并从中返回时,我的 homeViewController 视图的高度变小了。 (视图高度 - 导航栏高度)
(不想手动调整框架)
// homeViewController
-(void) settingButtonPressed {
SettingsViewController *svc = [[SettingsViewController alloc] init];
[self.navigationController pushViewController:svc animated:YES];
}
// settingViewController
-(void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = NO;
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
self.navigationItem.hidesBackButton = NO;
[UIApplication sharedApplication].statusBarHidden = YES;
UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation;
[self willAnimateRotationToInterfaceOrientation:statusBarOrientation duration:0.0];
}
-(void) viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.navigationController.navigationBarHidden = YES;
}
请建议解决方法。
【问题讨论】:
-
试着把你的代码,很容易解决你的问题。
-
向我们展示您在 ViewDidLoad 或 ViewWillAppear 中编写的代码:
-
没有发生与 viewDidLoad 上的导航相关的事情。 viewDidLoad 将被调用一次,它只是调整两个控制器的视图。
-
把你的homeview viewdidload和viewwill出现方法。