将displayModeButtonItem用于我自己的UIButton SWIFT

时间:2015-01-23 20:12:32

标签: ios swift uibutton uisplitviewcontroller

我的应用使用splitViewcontroller。我删除了DetailViewController的navigationBar。所以我不能用:

navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem()
navigationItem.leftItemsSupplementBackButton = true

但是我需要自己的按钮来在一个像leftBarButtonItem完成的popover中显示我的MasterViewController。

我试过了:

@IBAction func showAll() {
  rootViewController.splitViewController?.displayModeButtonItem().action
}

但它不起作用。

编辑:

我尝试在masterViewController中添加自己的popover。

@IBAction func showAll(sender : UIButton!) {

    let popover = UIPopoverController(contentViewController:masterViewController)
    popover.presentPopoverFromRect(sender.frame, inView: self.view, permittedArrowDirections:UIPopoverArrowDirection(), animated: true)
}

但应用程序崩溃了:

Application tried to present modally an active controller <DetailViewController: 0x7f8393d96540>

我不明白因为我需要在detailViewController的视图中显示popover。我该怎么办?

1 个答案:

答案 0 :(得分:1)

它与@pbasdf解决方案完美配合:

@IBAction func showAll() {
    self.splitViewController?.preferredDisplayMode = .PrimaryOverlay
    self.splitViewController?.displayModeButtonItem().action
}