1

我的情节提要中有两个几乎相同的场景。两者都是 UITableViewControllers。两者都有页眉和页脚视图。页眉视图有一个 UISearchBar,页脚视图有一个包含 UITextField 的 UIView。每个只有一个原型单元。一个原型为“基本”单元,另一个原型为“正确细节”单元。

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

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

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

任何帮助将不胜感激!

4

2 回答 2

2

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

对我来说答案很简单:我没有调用[super viewWillAppear:animated]我的 UITableViewController 子类的viewWillAppear:实现。确保你已经调用了超类的方法,希望问题会消失。

于 2012-07-10T20:49:48.063 回答
0

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

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

于 2012-07-10T21:07:44.437 回答