不要手動連接segue通過按鈕操作。
這是假設有這個按鈕的viewController是導航控制器
@IBAction func myButtonTapped(_ sender: Any) {
let vc = self.storyboard!.instantiateViewController(withIdentifier: "YOUR STORYBOARD IDENTIFIER GOE HERE")
self.show(vc, sender: self)
}
如果你想去你必須指定其索引標籤欄控制器的選項卡的根視圖控制器。我認爲你可以在故事板中設置它,但是我只是在0的左邊,然後它們依次上升。所以在下面的例子中,我想通過模態轉換進入標籤欄控制器的第二個選項卡。我假設你可以像上面的例子那樣使用show我從來沒有做過。
let tbc = self.storyboard!.instantiateViewController(withIdentifier: "MyTabController") as! UITabBarController
tbc.selectedIndex = 1 // this is 2nd tab index.. start at 0
tbc.modalPresentationStyle = .overCurrentContext
tbc.modalTransitionStyle = .coverVertical
self.present(tbc, animated: true, completion: { finished in
// you can also do some completion stuff in here if you require it.
// self.view.removeFromSuperview()
// self.navigationController?.navigationBar.removeFromSuperview()
})
謝謝,這一直是非常有幫助的。我的一個segues從沒有標籤欄控制器的視圖控制器轉到具有標籤欄控制器的視圖控制器,只有在推動標籤欄不顯示。你知道我怎麼能夠讓標籤欄顯示出來嗎? –
基本上你必須通過標籤欄控制器到你想要的標籤索引。虐待添加我的答案的例子。 – WanderingScouse