请你帮我解决一个问题:
我有一个导航控制器,带有初始Controller InitController和4个视图控制器:A,B,C,ModalViewController。我按下控制器A-> B-> C并呈现ModalView。当我解除ModalView并返回C导航项目时,我看到标题为“A”,右键为“编辑”,后面的按钮为“< C”,但内容属于C视图。在我按下后退按钮“< C”后,我看到正确的导航项目,即标题为“C”,右键为“上一个/下一个”,后退按钮为“< B”。
在viewDidLoad
[self.navigationItem setTitle:@"A"];
self.navigationItem.rightBarButtonItem = [self editButton];
if ([self.model gotoB]) {
[self.navigationController pushViewController:B animated:NO];
}
在viewDidLoad
[self.navigationItem setTitle:@"B"];
self.navigationItem.rightBarButtonItem = [self editButton];
if ([self.model gotoC]) {
[self.navigationController pushViewController:C animated:NO];
}
在viewDidLoad
[self.navigationItem setTitle:@"C"];
[self.navigationItem setRightBarButtonItem:self.nextPrevRightButton];
if ([self.model showModalView]) {
[ModalViewController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[ModalViewController setDelegate:self];
[self presentViewController:ModalViewController animated:YES completion:nil];
}
在-(void) dismissModalController:(UIViewController *)sender
[self dismissViewControllerAnimated:YES completion:nil];
答案 0 :(得分:0)
我找到了一个解决方案,一开始我忘了提到A不是一个初始控制器,我实际上也把它推到初始控制器的堆栈中,但是我用animated:YES
推动它。这是错误的,即最后一个模态视图控制器只需要显示animated:YES
。
这个问题Problem pushing multiple view controllers onto navigation controller stack的答案实际上帮助我解决了我的问题。