我有一个带有多个UISplitViewControllers的应用程序,每个都有自己的MasterView和DetailView。然而,我注意到,当我直接启动其中一个SplitView时,我会看到DetailView,并且必须先导航回MasterView。我想改变这一点,并发现这适用于preferredDisplayMode
,但设置它会导致问题。
我为所有三个SplitView创建了UISplitViewController的子类,并尝试覆盖preferredDisplayMode
,如下所示:
import UIKit
internal class SplitViewController : UISplitViewController {
@IBAction internal func unwindToSplitView(segue: UIStoryboardSegue)
override let preferredDisplayMode = UISplitViewControllerDisplayMode.PrimaryOverlay
}
但是,我收到以下错误:
无法覆盖存储的属性'preferredDisplayMode'
我做错了什么?感谢。
答案 0 :(得分:1)
您应该覆盖功能viewDidLoad()
并将preferredDisplayMode
设置为您想要的值。像这样:
override func viewDidLoad() {
super.viewDidLoad()
preferredDisplayMode = .PrimaryOverlay // Or UISplitViewControllerDisplayMode.PrimaryOverlay if you prefer (both are equivalent)
}