1

ビューに 2 つUITextFieldの があり、両方ともメソッドに接続されています

- (IBAction)showContactPicker:(id)sender;

ここで、指定された送信者でテキスト フィールドの値を変更したいと考えています。

どうやってやるの?

4

2 に答える 2

3

Sender は UITextField です。新しい UITextField 変数にキャストして使用します。

 UITextField *theTextField = (UITextField *)sender;

それらをインスタンス変数に IBOutlet し、== を使用して送信者と比較することもできます。

于 2013-08-25T14:10:44.213 に答える
2

これは、タグを使用して実現できます。ストーリーボードで、各テキスト フィールドにタグを付けます。これは、属性インスペクターでアクセスできます。

ここに画像の説明を入力

一方のテキストフィールドではこれを 1 に設定し、他方では 2 に設定します。

Sender は id 型です。つまり、任意のオブジェクトを指定できます。送信者が UITextField になることがわかっているので、UITextField をキャストして操作していることをコンパイラーに伝える必要があります。これを行うには、showContactPicker: メソッドで次のように言います。

UITextField *newTextField = (UITextField *)sender;

これは、sender 変数が UITextField へのポインターであることを保証していることをコンパイラーに伝えます。

この後、あなたは言うことができます

if (sender.tag == 1) {
    //Change the slider corresponding to the first textfield
} else if (sender.tag == 2) {
    //Change the slider corresponding to the second textfield
}
于 2013-08-25T14:02:13.520 に答える