我正在手动调用推送转场,效果很好。新的 TableView 场景出现,导航 Controller 中的自定义导航按钮工作完美。
但是,我希望它是一个模态转场。因此,我将类型更改为模态并将新场景嵌入到导航 Controller 中。新场景出现,但是当点击取消按钮时,场景不会消失。
有什么想法吗?谢谢。
最佳答案
Push segue 将一个新的 View Controller 添加到导航堆栈中,其中还包含呈现 View Controller 。这就是导航栏在这种情况下起作用的原因。
模态 Segue 不会将 View Controller 添加到导航堆栈中,而是将其添加为呈现 View Controller 的子级,因此在本例中没有定义的导航。
如果您希望导航栏在模态呈现的 Controller 上工作,则必须手动连接操作(例如:使用“后退”按钮关闭模态呈现的 Controller )。
此外,正如 @Edwin Iskandar 所指出的,请确保在 View Controller 上调用正确的关闭操作,这意味着:popViewControllerAnimated
不适用于模态呈现的 View Controller ,您应该调用 dismissModalViewControllerAnimated
附注:请注意 dismissModalViewControllerAnimated
已弃用,取而代之的是 dismissViewControllerAnimated:(BOOL) completion:^(void)completion
适用于 iOS 6
关于iphone - 推式转场场景有效,模态转场场景不行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271078/