Контроллер, в котором вы хотите обрабатывать события UITextField должен поддерживать протокол <UITextFieldDelegate>
Например, у меня есть View, в котором есть UITableView и UITextField. И я в одном контроллере хочу обрабатывать поведение и того и другого. Тогда этот контроллер должен поддерживать соответствующие протоколы.
// AccountOptionsController.h @interface AccountOptionsController : UIViewController <UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate>
Чтобы спрятать клавиатуру после окончания ввода данных и нажатия кнопки Return, нужно переопределить метод textFieldShouldReturn. Напиример так:
// AccountOptionsController.m - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; }
Чтобы обработать введенные данные, нужно переопределить метод textFieldDidEndEditing.
- (void)textFieldDidEndEditing:(UITextField *)textField { if (textField == loginField) { userData.login = textField.text; } ... }
Думаю, общая идея ясна, а для дополнительных сведений смотри UITextFieldDelegate Protocol Reference.
С UITableView то же самое. Смотри UITableViewDelegate Protocol Reference и UITableViewDataSource Protocol Reference.
Ты в одном месте опечатался: UITextFiled
ОтветитьУдалитьПоставь себе Orphus для репорта опечаток.
http://k06a.blogspot.com/2009/05/orphus.html
Спасиб! :)
ОтветитьУдалить