iphone - 推式转场场景有效,模态转场场景不行?

标签 iphone objective-c ios xcode

我正在手动调用推送转场,效果很好。新的 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/

相关文章:

ios - NSStringEncoding到字符串

ios - 如何在 Xcode6 的 Storyboard上重置特定大小的类数据?

ios - 调整 UICollectionView 大小

iphone - - 声明时变量的默认值 -

iphone - 访问存储在应用程序中的文件的最快方法

ios - 从服务器删除已发送的推送通知

objective-c - 创建 UIImageView

iphone - 基于图像的 iPhone 应用程序的最佳设计是什么?

iphone - iPhone 4(S)vs iPad2计算机视觉性能问题

ios - 已经为 iPhone 4 和 5 构建的应用程序将如何在 iPhone 6 和 6 plus 中展示