【问题标题】:collapseSecondaryViewController only called oncecollapseSecondaryViewController 只调用了一次
【发布时间】:2015-11-30 02:37:04
【问题描述】:

我尝试按照《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
    }
}

【问题讨论】:

    标签: ios swift uisplitviewcontroller


    【解决方案1】:

    我发现我需要将“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,Compact Width 的。还在 iPad 上进行测试,因为它的行为不同(横向与纵向)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 2019-02-22
      相关资源
      最近更新 更多