2017-01-12 18 views
1

私は同じUIViewControllerにsegue私のIOSアプリケーションで約20のボタンを持っています。これはSwiftで書かれたゲームです。これを実現するために、ストーリーボードで第1ボタンのセグを作成しました。ボタンの残りの部分については、それらを同じIBActionメソッドにアタッチし、上に作成したsegueをIDで呼び出すことになります。このアプローチの問題点は、最初のボタンアプリケーションがセグを2回実行しようとしたときに、ログにエラーがスローされるということです。 UIView:0x7f7fe9c84600;フレーム=(0 0; 320 568);自動サイズ調整= W + H; layer = CALayer:0x7f7fe9c848d0 >>のウィンドウがTileGame.GameScreen:0x7f7fe9dc6bc0>のビューのウィンドウと等しくない!これは本当に使用するのに問題はありませんが、私はそれが正しい方法ではないと思います。加えて、不要なログを追加しています。iOS swiftの複数のボタンに同じsegueを使用するにはどうすればよいですか?

以下

はIBAction

@IBAction func action(_ sender: Any) { 
    performSegue(withIdentifier: "segueToSecondScreen", sender: self) 
} 

ための私のコードで誰がこの問題に対処する方法についての提案を持っていますか?どんな助けもありがとうございます。

+0

このような問題が発生している可能性があります。 http://stackoverflow.com/q/40002607/6433023 –

+0

マニュアルセグを使用して、すべてのIBActionsを同じ方法に接続してください –

+1

こんにちは、おかげさまで助けてください。 @ Arasuvelの答えは私の問題を解決しました。 – hellSigma

答えて

3

ボタンのセグを作成する代わりに。 ViewControllerのために作成することができます。

ステップ1: enter image description here

ステップ2: enter image description here

ステップ3: enter image description here

はセグエの名前を付けて、この1にすべてのボタンアクションを使用しています。

+0

ありがとうございました。これはうまくいった。以前はまた私はそこにある必要があり、Ctrl +ドラッグを1つのビューコントローラから別のビューコントローラにドラッグしようとしましたが、ビューコントローラのCtrl +ドラッグは、実際のストーリーボードの内側ではなく左側のメニューリストで動作するように見えました。とにかく、問題は解決しました。ありがとう。 :) – hellSigma

+0

@hellSigma:これは素晴らしいことです。 – Arasuvel

+0

あなたはストーリーボードでもそれを行うことができます。 ViewControllerの上部にあるViewControllerアイコンからStoryboardの目的のViewControllerにドラッグを制御します。 – vacawama

関連する問題