2010-11-26 7 views
13

私は-(void)textFieldDidBeginEditing:(UITextField *)senderを私のアプリケーションで使っています。テキストフィールドを選択したときに呼び出されることはありません。- (void)textFieldDidBeginEditing:(UITextField *)sender ..私はtextfieldを選択するとこの関数は呼び出されませんか?

textField.delegate = self;(自己: ここのコードは、このような現在のビューコントローラにUITextFieldのインスタンスのデリゲートを設定しましたあなたが

@interface yourViewController : UIViewController <UITextFieldDelegate> 
+5

あなたはすでに10の質問をしており、これまでの回答は受け入れていません...あなたの質問に対する回答を受け入れて、人々があなたを助けてくれるように感じてください。 – DarkDust

答えて

26

.hファイルにUITextFieldDelegateを含める必要があります...

-(void)textFieldDidBeginEditing:(UITextField *)sender{ 
    if([sender isEqual:txtName])//txtName is the IBOutlet of the UITextField 
    { 
     NSLog(@"Name"); 
    } 
    else{ 
     NSLog(@"NO_Name"); 
    } 
} 
+0

働いているSanniv ...、貴重なコメントをありがとう – Chinju

4

ですコールバックtextFieldDidBeginEditingがオーバーライドされるインスタンスを意味します)

1

あなたは.hにUITextFieldDelegateを含める必要がありますファイル、そしてまた2の簡単なステップ

1を完了することを確認しますYourTextField.delegate = self

11

を追加 - UITextFieldDelegate

@interface yourViewController : UIViewController <UITextFieldDelegate>

2デリゲートを実装する -

yourTextField.delegate = self

デリゲートを設定します。あなたのビューに多くのテキストフィールドがある場合は、

for (id subView in self.view.subviews) 
    { 
     if ([subView isKindOfClass:[UITextField class]]) { 
      [subView setDelegate:self]; 
     } 
    } 
関連する問題