2017-05-25 6 views
0

私はFirstViewControllerボタンに複数のボタンがあると、そのボタンをクリックするとSecondViewControllerに連れて行きます。 SecondViewController内にはtextfieldがあり、textfield.textにはクリックされたボタンに基づいて特定の値が割り当てられます。UIButtonがタッチされたときを検出することは可能ですか?

どのボタンが押されたかを検出できますか?あなたはこのようなあなたの行動を宣言した場合

+0

解決しましたか?それともまだ問題に直面していますか? –

答えて

0

ボタンは、アクションのsender引数として自分自身を渡します。

@IBAction func buttonWasTapped(_ sender: Any) { 
    guard let button = sender as? UIButton else { return } 
    // use button… 
} 
0

あなたはセグエを使用している場合、ボタンはprepare(for:sender:)senderです。これは、開始ビューコントローラーでオーバーライドすることができます。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    guard let button = sender as? UIButton else { return } 
    // use button… 

そして、ターゲットビューコントローラは、segueオブジェクト上でavailable as a propertyです。

+0

私はsegueを使用しており、私のボタンはこのように宣言されています "func kholaHospital(_送信者:任意){ performSegue(withIdentifier:" fromKhola "、送信者:自己) }"この関数を、それは触れられている? –

+0

ビューコントローラの変数をボタンの値に設定する必要があります。 self.someVariable = button.text 次に、その値をprepareForSegueのSecondViewControllerにアタッチする必要があります。 – GregP

関連する問題