2012-01-12 8 views
0

私はアプリケーションで多くのテキストフィールドを作成しており、ユーザーが編集を終了するとキーボードを閉じるようにしたいと考えています。私は、TextFieldのIBで作成された、とIBActionは私が使用することができますされているが、どのようなテキストフィールドのこのよう作成した場合は、場合 プログラムでdidEndOnExitを呼び出す

int top = 60; 
for(NSUInteger i=0; i< [kArray count]; i++){ 
     UITextField *kField = [kArray objectAtIndex:i]; 
     kField.frame = CGRectMake(130, top, 60, 30); 
     kField.borderStyle = UITextBorderStyleRoundedRect; 
     kField.autocorrectionType = UITextAutocorrectionTypeNo; 
     kField.returnKeyType = UIReturnKeyDone; 
     kField.keyboardType = UIKeyboardTypeNumbersAndPunctuation; 

     [scrollView addSubview:kField]; 
     top += 50; 
    } 

がどのように私は、ユーザーを押すボタンを行ってキーボードを閉じることができることを知っていますか?

答えて

2

使用UITextFieldDelegate方法:

#pragma mark UITextFieldDelegate methods 

- (BOOL)textFieldShouldReturn:(UITextField *)textField{ 
    [textField resignFirstResponder]; 
    return YES; 
} 

は、あなたのクラスはそうのようなデリゲートに準拠させることを忘れないでください:

@interface MyViewController : UIViewController <UITextFieldDelegate> 
+0

はあなたのビューを割り当てることを忘れないでくださいコントローラは 'kField'の代理人として動作します。 'kField.delegate = self'です。 –

0

はこれを試してみてください:

- (BOOL)textFieldShouldReturn: (UITextField *)textField { 
    [kField resignFirstResponder]; 
    return YES; 
} 
関連する問題