2016-09-29 7 views
0

UIAlertControllerのアクションの結果として別のViewControllerにジャンプしたいと思います。私はあなたがプログラムでセグをすることはできず、簡単すぎると思われ、人々の見解を得たいと思っていた簡単なセミフィックスを見つけたと読んでいます。ViewControllerを半自動的にセグメント(動作すると思われる)

MultipeerConnectivityを設定するコードでは、UIAlertControllerがあります。以下を参照してください。

 func showConnectionPrompt() { 
      let ac = UIAlertController(title: "Connect to Others", message: nil, preferredStyle: .actionSheet) 
      ac.addAction(UIAlertAction(title: "Host Play session", style: .default, handler: startHosting)) 
      ac.addAction(UIAlertAction(title: "Join Play session", style: .default, handler: joinSession)) 
      ac.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: noSession)) 
      present(ac, animated: true) 
     } 

は、 "ホストのプレイセッション" からの電話を取る...

func startHosting(action: UIAlertAction!) { 
     status = "start" 
     mcAdvertiserAssistant = MCAdvertiserAssistant(serviceType: "Play", discoveryInfo: nil, session: mcSession) 
     mcAdvertiserAssistant.start() 
     performSegue(withIdentifier: "Controller", sender: nil) 
    } 

は、 "コントローラ" と呼ばれるセグエへの呼び出しを参照してください?元のViewControllerにボタンを置いて、それを受信者にリンクさせ、識別子 "Controller"を呼び出しました。

これは問題ありませんか? これ以外の方法がないので、ただSegueリンクを作成するボタンを削除することはできますか?

答えて

1

これを行う正しい方法は、ビューコントローラから目的のビューコントローラへのセグを作成することです。これを行うためのボタンは必要ありません。 CTRL +ドラッグで目的のビューコントローラにビューコントローラからセグを作成することができます。

更新:

ビュー・コントローラ・シーンからCTRL +ドラッグ、サイドバーのビューコントローラからドラッグできない場合:

enter image description here

+0

を、私はそれを試みたが、セグエはdoesnの目的地にラッチする - そのトリックは何ですか? –

+0

Updated ... CTRL +サイドバーのソースビューコントローラからドラッグします。 – Jake

+0

多くのおかげで、接続がどこから来たのか忘れてしまった。後ろ見見と無関係な質問。記憶喪失を治してくれてありがとう。 –

関連する問題