Ваши UITableView
ячейки создаются здесь, обычно
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
(один из делегатов на UITableView
).
Таким образом, если вы создаете подкласс UITableViewCell
и открываете свойство text
, вы можете делать то, что хотите, включая хранение экземпляра UITextField
в ячейке. Убедитесь, что вы используете материал dequeue, как обычно.
Затем, когда пользователь касается UITableViewCell
, вы можете выделить UITextField
:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.thatTextFieldIMentioned becomeFirstResponder];
}
Если вы сделаете подкласс UITableViewCell
UITextFieldDelegate
и сделаете его делегатом для текстового поля, вы можете легко обработать эти раздражающе трудные для запоминания методы:
- (void)textFieldDidEndEditing:(UITextField *)textField {
NSLog(@"yeah inform someone of my change %@", textField.text);
}
- (BOOL)textFieldShouldClear:(UITextField *)textField {
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}