在iOS 5 Storyboard中,如何从Popover将新场景推送到原始视图控制器?

前端之家收集整理的这篇文章主要介绍了在iOS 5 Storyboard中,如何从Popover将新场景推送到原始视图控制器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从一个新的视图控制器创建一个popoverSegue,并希望将第三个视图控制器推送到原始堆栈.这就是我创建应用程序的方式:

>创建一个新的单一视图应用程序
>选择使用故事板
>选择MainStoryboard.storyboard文件.
>选择唯一的View Controller,将Title和Identifier更改为initialView,然后选择Editor-> Embed In-> Navigation Controller
>将两个新的View Controller对象从Objects Library拖到画布上
>将新视图控制器的标题和标识符更改为:popoverView和newView.
>将Object Rect对象从Object Library添加到initialView和popoverView.
>将Object库中的Label对象添加到`newView.
>控制单击initialView中的按钮并拖动到popoverView.
>从出现的Storyboard Segues菜单中选择Popover选项.
>控制单击popoverView中的按钮并拖动到newView.
>从Storyboard Segues菜单中选择Push选项.
>构建和扩展跑.

单击第一个按钮,弹出窗口,但是当您单击弹出窗口中的按钮时,没有任何反应(它应该按下新视图但不会.)

我想要做的是将它推到导航控制器堆栈上,但我不确定如何设置故事板.

有任何想法吗?

解决方法

您期望UINavigationController层次结构将其自身扩展为呈现的弹出窗口.它不会.对于呈现模态视图控制器也是如此.如果你要在popoverView中记录self.navigationController,你会发现它是零.

将popoverView嵌入到它自己的UINavigationController中.请记住,如果你要覆盖prepareForSegue:sender:并尝试配置popover,则需要从destinationViewController获取topViewController,因为目标现在是UINavigationController的一个实例.

猜你在找的iOS相关文章