[英]Why splitViewController:collapseSecondaryViewController:ontoPrimaryViewController: is not called on iPhone 6 Plus?
[英]collapseSecondaryViewController only called once
我嘗試按照《iOS 8 by tutorial》中的步驟實現 UISplitViewController。
文件說,如果我在splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:
方法中返回yes
,則拆分視圖控制器將僅顯示其主視圖控制器中的內容。
但是在我的項目中,無論我在此方法中返回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
}
}
我發現我需要將“self.preferredDisplayMode=.primaryOverlay”添加到我的 ViewDidLoad。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.delegate = self
self.preferredDisplayMode = .primaryOverlay
}
preferredDisplayMode 有一些其他選項來自定義您可以玩弄的初始行為,以獲得您喜歡的外觀和感覺。
請注意,這是針對 iPhone,緊湊寬度。 也在 iPad 上進行測試,因為它的行為有所不同(橫向與縱向)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.