ios:在模型视图上推送另一个 ViewController

Posted

技术标签:

【中文标题】ios:在模型视图上推送另一个 ViewController【英文标题】:ios: Pushing another ViewController on a model view 【发布时间】:2011-12-23 19:14:39 【问题描述】:

我有一个模态显示的视图控制器。

[self presentModalViewController:ViewControllerA animated:YES];

在这个 ViewControllerA 中,我有一个表格视图,当用户单击一个单元格时,另一个 ViewControllerB 应该被推到当前单元格的顶部。

- (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    [self.navigationController pushViewController:ViewControllerB animated:YES];

问题:我无法推​​送任何内容,因为它是从模态呈现的视图控制器推送的。有什么办法可以解决我的问题吗?

【问题讨论】:

请说得更具体一些,您是否要向第二个 VC 发送变量? 您好,请问您的答案是如何实现的? 【参考方案1】:

您可以将 ViewControllerB 作为另一个模态视图推送。

但如果你想使用导航控制器,这里有一段来自 Apple 的文档:

您可以像呈现自定义视图控制器一样以模态方式呈现 UINavigationController 对象。 (在极少数情况下,您甚至可以展示一个标签栏控制器。)

当以模态方式呈现导航控制器时,您始终呈现 UINavigationController 对象本身,而不是在其导航堆栈上呈现任何视图控制器。但是,导航堆栈上的各个视图控制器本身可能会以模态方式呈现其他视图控制器,包括其他导航控制器。

【讨论】:

是的,但我明确地想推动它。 感谢您的工作。我已经发现了这一点,并以这种方式完成了它。

以上是关于ios:在模型视图上推送另一个 ViewController的主要内容,如果未能解决你的问题,请参考以下文章

ios:如何关闭模态视图控制器,然后弹出推送的视图控制器

在 iOS 13 上推送新视图后后退按钮崩溃

在所有内容之上显示一个 UIAlertController 并保持在顶部,即使推送另一个视图(iOS 13)

iOS 以编程方式向下钻取导航堆栈

如何在ios中自定义推送和弹出动画时将视图传递给另一个控制器? [关闭]

UINavigationController 推送带有隐藏导航栏的视图控制器