UITextField成为第一响应者后,UITableView不会调整大小

时间:2012-07-04 21:19:10

标签: ios uitableview ios5 scroll uitextfield

我的故事板中有两个几乎相同的场景。两者都是UITableViewControllers。两者都有页眉和页脚视图。标题视图有一个UISearchBar,页脚视图有一个包含UITextField的UIView。每个只有一个原型单元。一个原型为“基本”单元格,另一个原型为“右侧细节”单元格。

这是问题所在。当我在第一个场景的页脚视图中单击UITextField时,表格会自动调整大小,以使表格的底部位于键盘的顶部。这允许我向上滚动表格,以便页脚视图显示,用户可以看到他们正在键入的内容。另一个场景不会自动调整UITableView的大小,因此UITableView无法将页脚视图滚动到可以看到的位置,并且UITextField隐藏在键盘下方。由于页脚始终位于UITableView的底部,我甚至无法手动滚动表格。

一点点补充信息。有效的场景有很多行数据,而不起作用的场景只有一对。我尝试添加一些行,直到表足以启用滚动并且它不能解决问题。

我已经检查了我能想到的一切,但是我看不到任何允许其中一个视图让UITableView自动调整大小以使用键盘而另一个不能使用键盘的内容。我一定忽略了一些东西,但似乎无法找到它。

任何帮助将不胜感激!

罗布

2 个答案:

答案 0 :(得分:2)

我认为这个问题是由一个视图复制并粘贴到另一个视图引起的,但是一旦我(在理论上)修复它,我就遇到了同样的问题。

对我的回答结果很简单:我没有在我的UITableViewController子类中调用[super viewWillAppear:animated]' viewWillAppear:实施。确保你已经接到了超级班的电话。方法,希望问题会消失。

答案 1 :(得分:0)

我猜测在第二种情况下,tableview的框架没有调整为较小的尺寸。

在加载后的两种情况下打印出框架和内容大小,这样可以帮助您查看是否存在问题。