【问题标题】:UITableView will not resize after UITextField becomes first responderUITextField 成为第一响应者后,UITableView 不会调整大小
【发布时间】:2012-07-04 21:19:10
【问题描述】:

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

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

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

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

任何帮助将不胜感激!

罗伯

【问题讨论】:

    标签: ios uitableview ios5 scroll uitextfield


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-25
        • 1970-01-01
        • 2011-08-21
        • 2013-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多