2017-02-27 6 views
0

私は私のUIViewControllers間seguesを作成しようとしていますが、UITableViewCellとUIButtonからsegueを作成することにいくつかの問題があります。なぜ私のUIButtonセグはUITableViewCellセグのように振る舞いませんか?

私は、UITableViewCellからUIViewControllerまでのストーリーボードを使用してショーディテールセグを作成すると、完全に動作し、戻るボタンが表示されます。しかし、私は、UIButtonからUIViewControllerへのショーディテールセグを作成しようとすると、ナビゲーションスタックを登録せず、戻るボタンを使わずに画面をモーダルに表示します。

どのようにして、UIButtonからビューコントローラーへの表示詳細セグを成功させることができますか?私はiOSが新しく、なぜUIButtonのsegueがUITableViewCellのsegueと同じように動作しないのかを判断するのに問題があります。

ありがとうございました!

答えて

0

segueを手動でボタン操作で接続しないでください。

これは、このボタンを持っているのViewControllerを想定しているが、ナビゲーションコントローラ

@IBAction func myButtonTapped(_ sender: Any) { 
    let vc = self.storyboard!.instantiateViewController(withIdentifier: "YOUR STORYBOARD IDENTIFIER GOE HERE") 
    self.show(vc, sender: self) 
} 

あなたはそのインデックスを指定する必要がタブバーコントローラのタブに移動する場合のルートビューコントローラです。私はあなたがストーリーボードでそれを設定することができると思うが、私は0で左に行くと、彼らは順次に行く。下の例では、モーダルトランジションでタブバーコントローラの2番目のタブに移動したいと考えています。上の例のようにここで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() 

     }) 
+0

おかげで、これは非常に参考にされています。私のセグの1つは、タブバーコントローラーのないビューコントローラーから、タブバーが表示されないプッシュのみのタブバーコントローラー付きのビューコントローラーになります。どのように私はタブバーを表示することができるかもしれないか知っていますか? –

+0

基本的にはタブバーコントローラーを必要とするタブ付きのインデックスに移動する必要があります。私の答えに悪い例を加えてください。 – WanderingScouse

0
let vc = self.storyboard!.instantiateViewController(withIdentifier: "StoryBoardID") 
self.navigationController?.pushViewController(vc, animated: true) 
+1

[回答]をお読みください。 – Mistalis

関連する問題