各セルの uitableview では、ユーザーがテキストフィールドを編集すると uitextfield が表示され、画面上の他のボタンを押した後、キーボードは辞任しません。テキストフィールドデリゲートで次のことを行いました
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
textfieldInCell = textField;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
textfieldInCell=nil;// this is the ivar i am using for each textfield in cell.
return YES;
}
-(void)textFieldDidEndEditing:(UITextField *)textField
{
textfieldInCell=textField;
// do the process...
textfieldInCell=nil
}
ユーザーが他のボタンをタップしても、キーボードが辞任していない場合は、 shouldReturn デリゲート関数も呼び出しています。どこが間違っていますか?