【发布时间】:2010-01-18 22:12:15
【问题描述】:
我在导航控制器下有一个 tableview 控制器。我的一些表格单元格包含文本字段,因此当我点击它们时,将显示一个键盘并自动调整(缩小)我的表格视图的边界。当通过在我的文本字段上调用 resignFirstResponder 以编程方式关闭键盘时,边界就会恢复。
我的一些单元格在被点击时会将一个新的视图控制器推入视图堆栈,所以我在推入视图控制器之前首先退出我当前的文本字段:
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (currentEditingTextField != nil) {
[currentEditingTextField resignFirstResponder];
currentEditingTextField = nil;
}
return indexPath;
}
问题是当我导航回我的表格视图时,表格视图的边界的大小就像键盘仍然在那里一样。我知道这一点是因为滚动指示器只能到达键盘所在位置的正上方,并且表格视图下方有空白视图空间。
有人遇到过这种情况并知道解决方案吗?谢谢
【问题讨论】:
-
检查并查看是否需要在您辞职并关闭键盘之后以及在您推送新的视图控制器之前重新加载表格视图。
标签: iphone objective-c uitableview uinavigationcontroller uiscrollview