Я предполагаю, что вы создали пользовательскую динамическую ячейку прототипа, в которой есть UITextField.
Не нужно иметь IBOutlet UITextField в вашем классе ViewController, где вы добавили UITableView.
Создайте собственный класс TableViewCell, а затем создайте IBOutlet UITextField в пользовательском классе TableViewCell.
@interface SimpleTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UITextField *simpleTxtField;
@end
Установить класс TableViewCell для пользовательского класса TableViewCell: «SimpleTableViewCell». выбрав TableViewCell и выбрав значок Identity Inspector в правой панели в Xcode.
в вашем классе ViewController подтвердите делегат UITextField. как это.
@interface ViewController() <UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITableView *simpleTableView;
@end
Внедрение функции UITextField.
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
затем в Tableview: метод cellForRowAtIndexPath из UITableView Datasource набор вашего пользовательского TableViewCell в (SimpleTableViewCell) TextField делегатом самостоятельно.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
SimpleTableViewCell *cell = [self.simpleTableView dequeueReusableCellWithIdentifier:@"simpleCell" forIndexPath:indexPath];
cell.simpleTxtField.delegate = self;
return cell;
}
и всякий раз, когда вы выбираете TextField из Cell Клавиатура будет отображаться и при нажатии кнопки возврата метод TextField делегат получит вызов и клавиатура будет получить увольте. Надеюсь, это поможет.
Я действительно нашел эту строку, ища более старые сообщения SO, однако я не знаю, где добавить эту строку. Я добавил IBAction, чтобы поймать событие редактирования конца, а затем [self.view endEditing: YES], но код так и не дошел – cateof
Вы хотите сказать, что хотите поймать конец редактирования? Значит, как закончить редактирование? Может быть, добавить жест как ответ @krushnsinh может помочь вам – anhtu
Что происходит, когда мне нужно щелкнуть на что-то еще после [view endEditing:]? Каждый раз, когда я нажимаю на строку (didSelectIndex ..), segue не выполняется. – cateof