我尝试按照“iOS 8 by tutorial”中的步骤实现UISplitViewController。
如果我在yes
方法中返回splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
,则分区视图控制器将仅显示其主视图控制器中的内容。
但是在我的项目中,拆分视图控制器在折叠界面中显示主视图控制器和辅助视图控制器,无论我在此方法中返回true
false
。最有线的是这个方法只在应用程序开始运行时调用一次。
这是我自定义的SplitViewController,它是UISplitViewController的子类:
import UIKit
class SplitViewController: UISplitViewController, UISplitViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
}
// MARK:- UISplitViewControllerDelegate
func splitViewController(splitController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool {
// We don't want anything to happen. Say we've dealt with it
return true
}
}
答案 0 :(得分:0)
我发现我需要在ViewDidLoad中添加“ self.preferredDisplayMode = .primaryOverlay”。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.delegate = self
self.preferredDisplayMode = .primaryOverlay
}
preferredDisplayMode还有其他一些选项,可以自定义可以用来获得喜欢的外观和感觉的初始行为。
请注意,这是针对iPhone的“紧凑宽度”。还可以在iPad上进行测试,因为它的行为有所不同(横向与纵向)。