【问题标题】:UITableView has blank space below, can't removeUITableView 下方有空格,无法删除
【发布时间】:2012-03-26 17:36:33
【问题描述】:

我有一个 UITableView,它显示一些在运行时读入的数据,并在其下方提供一个按钮,单击该按钮将刷新列表。所有这些都可以正常工作,但是模拟器上的布局存在问题。

当我运行时,表格底部有一个空间可以按下刷新按钮。无论 UITableView 有多长,UIButton 都将始终保持在那个扩展距离上。如果我用 UIButton 覆盖底部,它会以稍微少一点的填充显示。我不知道如何解决这个问题。

带有行为示例的图片:http://img864.imageshack.us/img864/9913/screenshot20120326at113.png

【问题讨论】:

  • 您是否尝试将 TableView 页脚高度设置为 0.0f?
  • 它不是模拟器,它是 iPhone 中的模拟器。你好像是安卓背景的。

标签: iphone uitableview table-footer


【解决方案1】:

我认为问题在于,在界面构建器中,您的布局没有以相同的大小显示,因为它缺少顶部的导航栏。

在可视化编辑器中,选择托管表格视图的窗口,转到attribute inspector,然后在检查器的Simulated Metrics 部分中为Top Bar 条目选择Navigation bar。你的设计布局将会改变。调整表格视图的大小,移动按钮,重建应用程序,然后再次运行;这应该可以解决问题。

【讨论】:

  • 我曾多次尝试根据导航栏调整其大小,但结果没有变化,但添加 simulated metrics 最终会显示大小不正确的 UITableView。仍然不确定为什么带有指标的版本缩小了这么多,但是什么有效,有效。
【解决方案2】:

看起来这是因为您在设计时没有模拟导航栏,并且您的自动调整大小蒙版设置不正确。

您可以做的是为设置为Navigation Bar 的顶部栏启用模拟指标(IB 中的属性检查器并选择主视图),或者您可以修复自动调整大小的蒙版。它们是 IB 尺寸检查器中的红色东西。

【讨论】:

    【解决方案3】:

    这是因为当您设计屏幕时,您没有考虑即将到来的导航栏。只需在顶部的屏幕上添加一个栏,然后使用适当的自动调整蒙版重新排列表格和按钮。它会适合。

    【讨论】: