Как я могу заставить клавиатуру отображаться с моим UITextField в моем UITableView? - PullRequest
3 голосов
/ 01 февраля 2012

У меня есть UITextField в UITableViewCell в UITableView. Все они определены в Интерфейсном Разработчике. UITableView подключается к UITableViewController и устанавливается в качестве источника данных и делегата. На UITextField ссылаются через IBOutlet / свойство textEmail. Все это внутри представления с вкладками, если это имеет значение. Взаимодействие с пользователем включено для всех этих.

Все отображается нормально, но клавиатура не отображается при выборе UITextField. Я вижу, что вызывается textFieldDidBeginEditing, но нет клавиатуры. Я попытался позвонить на becomeFirstResponder в viewWillAppear, и он вызывается, но все еще нет клавиатуры:

- (void)viewWillAppear:(BOOL)animated {
    NSLog(@"View will appear");
    [textEmail becomeFirstResponder];
}

Я также пытался поместить вызов непосредственно в textFieldDidBeginEditing, а также в IBAction, подключенном к событию касания с тем же результатом.

1 Ответ

0 голосов
/ 01 февраля 2012

У вас есть только одна настраиваемая ячейка просмотра таблицы за раз?Если это так, было бы намного проще не использовать просмотр таблицы для того, что вы пытаетесь сделать.

Если у вас есть несколько ячеек (или одна ячейка), вам необходимо убедиться, что ваш класс является UITextFieldDelegate.Затем в вашей функции cellForRowAtIndexPath получите текущее текстовое поле и присвойте делегату textField значение self.

Затем добавьте следующую функцию в вашу реализацию:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{
     [textField becomeFirstResponder];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...