lna*_*ger 8 xcode storyboard uipopovercontroller ios ios5
我正在从一个新的视图控制器创建一个popoverSegue,并希望将第三个视图控制器推送到原始堆栈.这就是我创建应用程序的方式:
Single View ApplicationUse StoryboardsMainStoryboard.storyboard文件.Title和Identifier到initialView,然后选择Editor->Embed In->Navigation ControllerView Controller对象从"对象库"拖到画布上Title和Identifier新的视图控制器来:popoverView和newView.Round Rect Button将对象库中的对象添加到initialView和popoverView.Label将对象库中的对象添加到`newView.initialView并拖动到popoverView.Popover从Storyboard Segues显示的菜单中选择选项.popoverView并拖动到newView.Push从Storyboard Segues菜单中选择选项.单击第一个按钮,弹出窗口,但是当您单击弹出窗口中的按钮时,没有任何反应(它应该按下新视图但不会.)
我想要做的是将它推入Navigation Controller堆栈,但我不确定如何设置故事板.
有任何想法吗?
您期望UINavigationController层次结构将自身扩展为呈现的弹出窗口.它不会.对于呈现模态视图控制器也是如此.如果你登录self.navigationController的popoverView,你会看到,它是零.
嵌入popoverView它自己的UINavigationController.请记住,如果您要覆盖prepareForSegue:sender:并尝试配置弹出框,则需要获取topViewControllerfrom,destinationViewController因为目标现在是实例UINavigationController.
小智 1
听起来应该可以,但如果不起作用,请尝试以下操作: 1. 单击不起作用的 segue 并为其指定一个标识符。假设它是 PopoverToNewSegue。
在弹出视图控制器的实现文件中,添加单击按钮时的操作。
该函数应返回 void 并添加以下行: [self PerformSegueWithIdentifier:@"PopoverToNewSegue" sender:self];
这应该能让你的segue运行起来。我注意到转场并不总是像你期望的那样工作,但是这个对我来说毫无失败。
| 归档时间: |
|
| 查看次数: |
12793 次 |
| 最近记录: |