0

sent eventsUITextField から 1 か所で収集するにはどうすればよいですか? または、使用するイベントごとにアウトレットとアクションを作成する必要がありますか?

ここに画像の説明を入力

4

2 に答える 2

1

あなたの質問が正しく得られた場合は、この UITextField がフォーカスを失ったときに UITextField からテキストを取得する必要があります (ユーザーが他の場所をタップします)。これを達成するには、次のものが必要です。

  1. クラスを次のように宣言します (yourClassName.h ファイルで)
  2. このメソッドを yourClassName.m ファイルに実装します。

    - (void)textFieldDidEndEditing:(UITextField *)textField {
        NSString *someStringOrWhateverYouNeed = textField.text;   
    }
    

ユーザーがキーボードのリターン ボタンを押すたびに、クラスに通知があり、このメソッドが呼び出されます。

複数の UITextField からイベントを収集する必要がある場合は、すべての textField を特定のタグでマークし、次のように 1 つの IBAction を作成できます。

- (IBAction)getTextFieldEvent:(id)sender {
    UITextField *currentTextField = (UITextField *)sender;
    switch (currentTextField.tag) {
        case 1:
            // some code here for textField with tag = 1
            break;
        case 2:
            // some code here for textField with tag = 2
            break;
        case 3:
            // some code here for textField with tag = 3
            break;
        default:
            // some default code here
            break;
    }
}

さまざまなイベント タイプについて、さまざまな IBAction を作成することをお勧めします。UITextField のプロパティ (フォントなど) を変更する必要がない場合は、IBOutlets は必要ありません。

それが役立つことを願っています:)

于 2012-04-29T04:56:55.030 に答える
0

同じ名前で別の IBAction 接続を行います。次に、重複したメソッドを消去します。両方のテキスト フィールドが同じ IBAction メソッドに接続されます。

于 2012-12-18T21:28:14.480 に答える