UITextField внутри UITableView

У меня есть UITextField внутри UITableView. Я установил делегата текстового представления в методе cellForRowAtIndexPath моего UITableView следующим образом

cell.textField.delegate = self;

но когда я закончил редактирование и нажал «готово», я ничего не получил в моем методе делегата, как показано ниже. Что может быть причиной?

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

}


person fatih    schedule 09.01.2011    source источник


Ответы (1)


Метод textFieldDidEndEditing: вызывается после того, как текстовое поле отказывается от статуса первого респондента. Чтобы текстовое поле отказывалось от статуса первого респондента, отправьте ему resignFirstResponder сообщение. Хорошее место для этого - метод textFieldShouldReturn: делегата текстового поля. Это выглядело бы примерно так:

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

Когда пользователь нажимает кнопку «Готово», вызывается метод textFieldShouldReturn:, в результате чего текстовое поле отказывается от статуса первого респондента и вызывается textFieldDidEndEditing:.

person James Huddleston    schedule 09.01.2011