Текст UITextField не изменяется в пользовательском интерфейсе - PullRequest
1 голос
/ 24 января 2012

После выполнения приведенного ниже кода текст текстового поля не изменяется в пользовательском интерфейсе на «Fly», но второй NSLog выводит «TextField: Fly», как и должно быть.

@property (strong, nonatomic) IBOutlet UITextField *typeTextField;
....

UITableViewCell* cell = [self.theTableView dequeueReusableCellWithIdentifier:@"TypeCell"];
self.typeTextField = (UITextField*)[cell viewWithTag:1];
NSLog(@"TextField: %@ ", self.typeTextField.text);
self.typeTextField.text = @"Fly";
NSLog(@"TextField: %@ ", self.typeTextField.text);

Любая помощьбудет высоко ценится.

1 Ответ

0 голосов
/ 24 января 2012

Вы почти наверняка забыли подключить розетку для UITextField в конструкторе интерфейсов. Откройте .xib-файл, в котором виден typeTextField, нажмите typeTextField, а затем откройте панель «Утилиты» (в правой части Xcode 4+). Нажмите «Инспектор подключений» (тот, который выглядит как стрелка вправо) и перетащите «Новый источник ссылок» на владельца вашего файла.

Когда вы не соединяете UITextField, который вы нарисовали в Интерфейсном Разработчике, с IBOutlet, который вы указали в исходном файле, оба UITextField создаются как отдельные объекты. Вы можете вносить изменения и работать с допустимым typeTextField с поврежденным IBOutlet, но он никогда не появится в вашем представлении.

Проконсультируйтесь Как подключить IBOutlet из UITableViewController напрямую к пользовательской ячейке? и http://www.youtube.com/watch?v=d_kO-J3DYvc при правильном подключении пользовательских объектов UITableViewCell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...