UISplitViewController在第一次交互时生成灰框

时间:2016-01-06 19:27:18

标签: ios swift uisplitviewcontroller

我的问题在这个gif中得到了证明:

enter image description here

正如您在第一帧中看到的那样,我在第一次互动中得到一个灰色框。背景视图为红色,只是为了检查它是否已加载。

我的故事板设置如下: enter image description here

我在代码中做的唯一修改是在SplitViewController类中:

class SplitViewController: UISplitViewController, UISplitViewControllerDelegate {
var collapseDetailViewController = true

override func viewDidLoad() {
    super.viewDidLoad()

    self.delegate = self
    self.preferredDisplayMode = .PrimaryOverlay

}

func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool{
    return collapseDetailViewController
}

}

这在我的主表视图中

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    (splitViewController as! SplitViewController).collapseDetailViewController = false
}

这是因为我希望在用户启动我的应用时显示侧边栏。有没有人经历过这个奇怪的错误,有没有人知道如何解决它?

1 个答案:

答案 0 :(得分:1)

我试图复制,但在加载时没有得到灰色框。相反,它按照您的预期工作 - 侧边栏加载应用程序启动时。

我发现了一些可能为您提供一些见解的类似问题: