ios - 将 View Controller 插入模态视图 Controller View

标签 ios uinavigationcontroller pushviewcontroller

我正在尝试进行一项简单的操作。至少看起来很简单。好的,我想做的是从一个已经用模态视图 Controller 推送的 View 中推送一个 View (用推送 View Controller )。

View1 --(push using modal view controller)-->View2--(push using push view controller)--View3.

现在,我正在做测试,所以我正在使用一个按钮来开始操作。这是我用来从 View2 推送到 View 3 的代码:

//view2.h
UIToolbar *bar;
UIBarButtonItem *button;
UIToolbar *toolbar;

}

- (IBAction)demissModal:(id)sender;
- (IBAction)goView3:(id)sender;

@end

//view2.m
- (IBAction)goView3:(id)sender{

View3 *view_3 = [[View3 alloc] initWithNibName:@"View3" bundle:nil];
[self.navigationController pushViewController:view_3 animated:YES];

}

这与我用来将 View1 推送到 View2 的代码相同,并且有效。但是当把 View2 推到 View3 时,它不起作用。知道为什么会这样吗?谢谢!

最佳答案

View Controller 实际上并不是“模态”或“推送” View Controller 。 Modal 或 Push 描述 View Controller 之间的转换(如果您使用 Storyboard,则称为 segues)。

我认为您要问的是如何以模态方式呈现 View Controller ,然后推送另一个 Controller 。诀窍是当您以模态方式呈现 View Controller #1 时,实际呈现一个导航 Controller ,其 Root View Controller 设置为 View Controller #1。

MyViewController *myViewController = [MyViewController alloc] init];
UINavigationController *navController = [UINavigationController alloc] initWithRootViewController:myViewController];

// Presuming a view controller is asking for the modal transition in the first place.
[self presentViewController:navController animated:YES completion:nil];
// Now in myViewController, call [self.navigationController pushViewController:secondViewController animated:YES];

这是使用 Storyboard的样子: enter image description here

关于ios - 将 View Controller 插入模态视图 Controller View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12849759/

相关文章:

android - 使用离线 map 进行应用程序开发

ios - 将 UIImagePickerController 与 UICollectionView 一起使用

ios - popViewController :animated: not working in iOS 9

ios - 从应用程序中的任何位置移动到 Root View

asp.net-mvc-3 - 如何使用 .NET 在 MVC3 中实现服务器发送事件?

ios - UITEXTFIELD 为零?

iOS NavigationCotroller pushViewController 使用 UITabBarViewController 初始化时

ios:从应用程序委托(delegate)访问导航 Controller

ios - 使用 PushViewController 时选项卡不显示

iphone - 解析问题