0

这就是我想要做的:我有一个基于 navigationController 的应用程序和许多不同的视图。假设在第三个视图上,我想使用 UIModalTransitionStyleCoverVertical 查看视图 4。我已经使用以下代码完成了它:

-(void)changeView4{
    View4 *screen = [[View4 alloc]initWithNibName:nil bundle:nil];
    screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:screen animated:YES];    
}

在视图 4 上,我有一个返回视图 3 的按钮,但问题是当我按下它时,View3 不显示导航控制器,所以我无法返回视图 2。有人可以帮忙吗我?谢谢。

4

1 回答 1

0

当您“返回”到您的第三个视图时,您实际上并没有返回到您之前显示的第三个视图。相反,您创建一个的第三个视图,并将其呈现您的第四个视图之上。此时,您的视图堆栈如下所示:

View 3 // don't want this!
View 4
View 3 // want to get back to here!
View 2
View 1

而不是创建一个新View3实例,您应该使用以下内容关闭现有的第四个视图:

// Inside View4
- (IBAction)dismissView4:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}

这应该让您回到之前的第三个视图,其中应该显示导航栏和相应的后退按钮。

于 2012-09-10T18:13:55.970 回答