swift - Split View Controller 偶尔会在 iOS 13 上的 iPhone 上显示详细 View

标签 swift ios13

我们有一个带有 Split View Controller 的通用应用程序,这些 Controller 嵌入在不同的选项卡中。我们在 iPhone 上的 iOS 13 上观察到,在切换选项卡时,偶尔会显示详细 View 而不是主视图。我们无法挑选出这种模式,这只是随机发生,但经常发生。

我已经提到了UISplitViewController in portrait on iPhone shows detail VC instead of master
Open UISplitViewController to Master View rather than Detail我们正在为 SplitViewController 实现委托(delegate)。该委托(delegate)也被调用。


class AppSplitViewController: UISplitViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        self.delegate = self
        self.preferredDisplayMode = .allVisible
    }

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
    }
    */

}

// MARK: - UISplitViewControllerDelegate Methods
extension AppSplitViewController: UISplitViewControllerDelegate {
    func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool {
        return true
    }
}

我不确定其他人是否在 iOS 13 上也观察到了这一点,但我不确定即使我们有适当的委托(delegate)实现,为什么 iOS 会偶尔显示详细 View 。请注意,我们无法在 iOS 12 上重现这一点。这是 View 堆栈
https://imgur.com/eWO3RQM

最佳答案

设置UISplitViewController delegate再次在 awakeFromNib .从 iOS 13 到至少 13.3 似乎存在一些操作顺序问题。我遇到了完全相同的问题,并且由于 another answer 而实现了这个提示,这似乎工作。

关于swift - Split View Controller 偶尔会在 iOS 13 上的 iPhone 上显示详细 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58812344/

相关文章:

swift - iOS 13 Siri 快捷方式深度链接

swift - AVAssetExportSession 给我 AVFoundationErrorDomain Code=-11800

ios - 方法 'application:openURL:options:'未被调用

swift - 如何创建具有不同数据类型的数据结构?

swift - 仅检测文件夹而不检测文档目录 iOS Swift 中的文件

swift - 如何在 Swift 中从 n 元素数组生成所有可能的 k 元素数组

iOS Swift UIViewController 旋转

ios - 如何设置iOS 13深色模式大标题颜色?

objective-c - 将 UISegmentedControlNoSegment 指定为 UISegmentedControl 的 selectedSegmentIndex 对 iOS 13 没有影响

ios - NSData 导致泄漏