无法在 SplitView 中覆盖 "preferredDisplayMode"
Cannot override "preferredDisplayMode" in SplitView
我有一个包含多个 UISplitViewController 的应用,每个 UISplitViewController 都有自己的 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
}
但是,我收到以下错误:
Cannot override with a stored property 'preferredDisplayMode'
我做错了什么?谢谢。
您应该改写 func viewDidLoad()
并将 preferredDisplayMode
设置为您想要的值。像这样:
override func viewDidLoad() {
super.viewDidLoad()
preferredDisplayMode = .PrimaryOverlay // Or UISplitViewControllerDisplayMode.PrimaryOverlay if you prefer (both are equivalent)
}
我有一个包含多个 UISplitViewController 的应用,每个 UISplitViewController 都有自己的 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
}
但是,我收到以下错误:
Cannot override with a stored property 'preferredDisplayMode'
我做错了什么?谢谢。
您应该改写 func viewDidLoad()
并将 preferredDisplayMode
设置为您想要的值。像这样:
override func viewDidLoad() {
super.viewDidLoad()
preferredDisplayMode = .PrimaryOverlay // Or UISplitViewControllerDisplayMode.PrimaryOverlay if you prefer (both are equivalent)
}