0

UITextFields実行する条件を識別するために別のものを使用することは可能ですか? たとえば、ユーザーがタッチUITextField *tf1した場合は (if ステートメントを使用して) 1 つの条件にアクセスする必要があり、ユーザーがタッチした場合はUITextField *tf2別の条件にアクセスする必要があります。使ってみtagsましたがうまくいかないようです。何か提案はありますか?

4

2 に答える 2

1

タグは間違いなく正しいソリューションです。各テキストフィールドに固有のタグがあることを確認し、送信者を読み取る前に、アクション メソッドで送信者をコントロール タイプにキャストしていることを確認してください。各コントロールの目的を明確にするために、定数を定義するのが好きです。たとえば、ヘッダー ファイルでは次のようになります。

#define RED_TEXT_FIELD 1
#define BLUE_TEXT_FIELD 2

コード内:

-(void) onTouchTextField:(id)sender {

   UITextField *theField = (UITextField *)sender;
   if (theField.tag == RED_TEXT_FIELD) {
      ...do something...
   } 
   else if (theField.tag == BLUE_TEXT_FIELD) {
      ...do something...
   }
}
于 2012-07-24T06:00:42.617 に答える
0

UITextField次のようなデリゲート メソッドを使用できます。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if(textField == tf1)
    {
        // Do something if tf1 is touched
    }
    else
    {
        // Do something if tf2 is touched
    }
}

これがあなたに役立つことを願っています....

于 2012-07-24T06:09:19.517 に答える