2014-10-18 3 views
2

я использую новые IOS 8 SplitViewController я ставлю только один detailViewController из раскадровки, а затем я использую showDetailViewController(), чтобы показать новый ViewControllerКак показать Панель навигации на detailViewController из SplitViewController прошивкой 8

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

но Панель навигации всегда скрыта есть способ поставить Панель навигации на detailViewController

и да кстати я пытался отобразить в Панель навигации, но не работает

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

ответ

4

просто мы можем поставить UINavigationController перед тем TableViewController, как это и показать navigationController

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

Я пишу это в методе prepareForSegue мастера. Вам нужно будет заменить DetailViewController на TableViewController в вашем коде. Возможно, вы также можете написать аналогичный код в viewDidLoad TableViewController, но я не уверен. Для моего образца кода с этим кодом, проверьте этот Blog Post

let controller = (segue.destinationViewController as UINavigationController).topViewController as DetailViewController 

      controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem() 
      controller.navigationItem.leftItemsSupplementBackButton = true 
Смежные вопросы