2011-01-09 9 views
0

私はUITableField内にUITextFieldを持っています。UITableView内のUITextField

cell.textField.delegate = self; 

を次のように私は私のUITableViewのcellForRowAtIndexPathメソッドでテキストビューのデリゲートを設定しましたが、私が編集し、キーを押して「完了」が終了したら、以下のように私は私のデリゲートメソッドでは何も取得できませんでした。理由は何でしょうか?

-(void) textFieldDidEndEditing: (UITextField *) textField {  
NSLog(@"here"); 

}

答えて

1

テキストフィールドがファーストレスポンダステータスを辞任した後textFieldDidEndEditing:メソッドが呼び出されます。テキストフィールドが最初のレスポンダステータスを辞退するようにするには、resignFirstResponderメッセージを送信します。これを行うには、テキストフィールドデリゲートのtextFieldShouldReturn:メソッドが適しています。それはこのようなものになります。

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

を、ユーザが「完了」キーをタップすると、textFieldShouldReturn:メソッドが呼び出されるファーストレスポンダの状態とtextFieldDidEndEditing:を辞任するテキストフィールドを引き起こし、呼び出されます。

関連する問題