ios - iPhone 上的 UISplitViewController : pop to/show primary view from detail view controller

标签 ios objective-c iphone ios8

我正在使用新的 iOS 8 UISplitViewController。如果我在 iPhone 上运行它,我会遇到以下问题:

我的主视图 Controller 触发了一个细节 View Controller 来显示。详细 View Controller 将新的 View Controller 推送到详细 View 中的 UINavigationController 堆栈。

现在如果我想从新 View Controller 弹出回到主视图 Controller ,我会遇到问题。

我该怎么做

[self.navigatonController popToRootViewControllerAnimated:YES];

不起作用。 我想在 iPhone 上显示主视图 Controller 。所以我必须弹出两个 View 。

有什么想法可以做到这一点吗?

最佳答案

UIViewControllers 有一个“splitViewController”属性,因此您可以通过它获得对适当导航 Controller 的引用 - 然后调用 popViewControllerAnimated。

这是在 Swift 中(包含在详细 View Controller 中的某处):

if let navController = splitViewController?.viewControllers[0] as? UINavigationController {
    navController.popViewControllerAnimated(true)
}

关于ios - iPhone 上的 UISplitViewController : pop to/show primary view from detail view controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27608745/

相关文章:

iPhone,addSubView不调用willViewAppear?

ios - 退出时保存当前状态,重新打开应用程序时自动重新加载

Objective-C:自定义 BOOL 访问器(getter 和 setter)方法

iphone - 如何减少在 ios google mapview 上加载标记的时间?

ios - Xcode 12 SwiftUI 应用程序因 UIRequiredDeviceCapabilities plist 键而被拒绝

ios - 二维码扫描后内存峰值/泄漏

ios - Google Maps SDK for iOS 在发布到 App Store 后崩溃

ios - 如何创建从 UIViewController 到 UISplitViewController 的转场

ios - 链接 `NSOperation` : Pass result from an operation to the next one

iphone - +(void) 在 objective-c 类静态变量构造函数中初始化