1

我遇到了一个刚刚开始在 OS 3.1 中发生的问题。

我在自定义 UITableViewCell 中有一个 UITextField。在 didRotateFromInterfaceOrientation 中,我调用 reloadData 来重新加载 tableview 以调整单元格的大小。正在发生的问题是:如果您正在编辑该 UITextField 中的文本并让键盘向上,然后旋转手机,键盘会旋转但无法正常工作。然后,如果你向后旋转,你会得到两个键盘,一个在另一个之上。我已经确定是旋转手机和调用“reloadData”导致键盘停止工作的组合。

这发生在模拟器和手机上。它只发生在 OS3.1 中。我尝试在 OS3.0 中编译,但问题没有发生。

有任何想法吗?谢谢。

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

3 回答 3

0

我同意 Gordon 提交一份错误报告以防万一。

在那之前,您最好在调用 reloadData 之前辞去所有第一响应者(从而摆脱键盘)。

于 2009-09-16T10:43:36.400 回答
0

没有分辨率。所以,我的解决方法是在重新加载表格视图之前退出键盘。

于 2009-11-07T07:08:07.280 回答
0

为避免这种情况,请在自定义单元格中实现 layoutSubviews: 并在其中重新布局,不要使用 reloadData:。(操作系统 3.1.2)

于 2010-01-11T02:34:41.647 回答