我對Swift還很陌生,並且在做一些個人項目來幫助我理解事情。MasterViewController BarButton在顯示詳細信息後失蹤Segue被觸發
現在,我使用Master-Detail應用程序作爲模板。在MasterViewController上,它是一個動態的TableViewController。
我想要實現的是,當我點擊任何單元格時,MasterViewController將顯示另一個導航列表(我已經設法使用Push segue進行設置),並且在DetailViewController上,而不是調用DetailViewController,它目前正在調用ContentsViewController,它是一個帶有TabBar的ViewController(我也已經使用Ctrl單擊了Cell並使用Accessory Action - > Show)。
源代碼片段觸發SEGUE
MasterViewController.swift
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showContentDetailSegue" {
if let indexPath = self.tableView.indexPathForSelectedRow() {
performSegueWithIdentifier ("ContentDetailSegue", sender: self)
}
}
}
眼下,ContentsViewController已經顯示沒有問題。但是,左上角的BarButton不再具有切換MasterViewController的主BarButton。
我也試過self.presentViewController,但它將取代整個屏幕,這不是我心目中的,因爲我想保持分割視圖完好無損。
我哪裏錯了?任何幫助表示讚賞。
通常情況下,相應的快捷文件下列代碼,你不應該從prepareForSegue()調用「performSegueWithIdentifier」。後一個函數被調用來設置目標控制器上的一些數據。當它被稱爲一個segue已經在進行中。因此,它看起來像你同時開始兩個賽段,這可能是什麼情況下的問題..你可以重寫代碼,以避免使用prepareForSegue? – Alexey
那我該怎麼去做呢? – Gino
如果你與我分享你的整個項目,然後我會看看。 – Alexey