【问题标题】:How to show a NavigationBar on detailViewController of SplitViewController iOS 8如何在 UISplitViewController iOS 8 的 tableViewController 上显示导航栏
【发布时间】:2014-10-18 17:48:24
【问题描述】:

我正在使用新的 iOS 8 SplitViewController 我只从情节提要中设置一个 detailViewController,然后我使用 showDetailViewController() 来显示一个新的 viewController

self.splitViewController?.showDetailViewController(TableViewController(), sender: nil)

但是 NavigationBar 总是隐藏有没有办法在 detailViewController 上放置 NavigationBar

是的,顺便说一句,我试图取消隐藏 NavigationBar 但不起作用

self.navigationController?.setNavigationBarHidden(false, animated: true)

【问题讨论】:

    标签: ios swift ios8 uinavigationbar uisplitviewcontroller


    【解决方案1】:

    我们可以像这样在TableViewController 之前放置一个UINavigationController 并显示navigationController

    var nav = UINavigationController(rootViewController:TableViewController())
    self.splitViewController?.showDetailViewController(nav, sender: nil)
    

    【讨论】:

    • 嘿,谢谢它在 iOS 13 中运行良好 .. Xcode 11
    【解决方案2】:

    我在master的prepareForSegue方法中写了这个。您需要在代码中将 DetailViewController 替换为 TableViewController。也许您也可以在 TableViewController 的 viewDidLoad 中编写类似的代码,但我不确定。对于我的代码示例,请查看Blog Post

    let controller = (segue.destinationViewController as UINavigationController).topViewController as DetailViewController
    
                controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
                controller.navigationItem.leftItemsSupplementBackButton = true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-27
      • 2015-02-20
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      相关资源
      最近更新 更多