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

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


但是我需要我自己的按钮才能像完成leftBarButtonItem一样在弹出窗口中显示MasterViewController。

我试过了 :

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


但这是行不通的。

编辑:

我试图在masterViewController内部添加自己的弹出框。

@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的视图中显示弹出窗口。我该怎么办?

最佳答案

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

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

关于ios - 将displayModeButtonItem用于我自己的UIButton SWIFT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28117978/

10-10 14:11
查看更多