Проблема с клавиатурой iPhone в OS3.1 - PullRequest
1 голос
/ 15 сентября 2009

У меня проблема, которая только что начала происходить в ОС 3.1.

У меня есть UITextField в пользовательском UITableViewCell. В didRotateFromInterfaceOrientation я вызываю reloadData, чтобы перезагрузить представление таблицы и изменить размеры ячеек. Проблема в том, что: если вы редактируете текст в этом UITextField и у вас есть клавиатура, а затем поворачиваете телефон, клавиатура поворачивается, но перестает работать И затем, если вы поверните назад, вы получите две клавиатуры одна над другой. Я определил, что именно сочетание поворота телефона и вызова reloadData приводит к тому, что клавиатура перестает функционировать.

Это происходит как в симуляторе, так и на телефоне. И это происходит только в OS3.1. Я попытался скомпилировать в OS3.0, и проблема не возникает.

Есть идеи? Спасибо.

-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    [self.tableView reloadData]; 
}

Ответы [ 3 ]

0 голосов
/ 07 ноября 2009

Нет разрешения. Итак, мой обходной путь - я переставляю клавиатуру перед перезагрузкой представления таблицы.

0 голосов
/ 11 января 2010

Чтобы избежать этого, реализуйте layoutSubviews: в пользовательской ячейке и ретранслируйте в нее, не используйте reloadData :. (ОС 3.1.2)

0 голосов
/ 16 сентября 2009

Я согласен с Гордоном подать отчет об ошибке на всякий случай.

До этого вам, вероятно, лучше отказаться от всех первых респондентов (таким образом избавиться от клавиатуры), прежде чем произойдет вызов reloadData.

...