2

我正在使用故事板构建一个表格视图,作为导航控制器流程的一部分。只要所有单元格都可以显示在一页上,一切都会运行良好。问题是,如果屏幕上有更多单元格适合,则某些单元格会隐藏在屏幕底部下方。我可以利用反弹效果进一步向下滚动来查看它们。一旦我释放屏幕,底部单元格就会在屏幕底部下方弹跳。

我认为问题在于表格视图上的框架尺寸。我还没有找到通过情节提要更改它的方法,并尝试动态更改尺寸:

self.view.frame = CGRectMake (0.0, 20.0, 320.0, 230.0);

不幸的是,这对 viewWillAppear 和 viewDidLoad 都没有影响。上面设置的高度为 230 点,列表应该很容易显示,表格还剩下 480 - 44(导航栏)= 436 点。

我究竟做错了什么?我是否将框架高度设置在错误的位置(viewWillAppear/viewDidLoad)?当视图高度变灰时,有没有办法在界面构建器中指定高度?

解决方案:(从下面的评论复制)

深入研究自动调整大小的问题,不显示该字段的原因是启用了 iOS 6 功能“使用 Autolayet”。然后自动调整大小框不会显示在 IB 中。禁用“使用 Autolayet”实际上解决了这个问题,并且滚动现在与屏幕底部对齐。

4

3 回答 3

5

为您的 UITableView 使用灵活高度。

  1. 打开包含 UITableView 的 storyboard / nib 文件。
  2. 选择您的表。
  3. 从“实用程序”中,选择“尺寸检查器”选项卡。
  4. 在“自动调整大小”框中,选择“垂直大小重新排列”。

它将根据父视图高度的变化调整您的表格大小。

编辑:自动布局打开时,不显示自动调整大小框和属性。

于 2013-06-19T06:20:12.310 回答
0

您的表格视图高度大于屏幕高度:将高度设置为屏幕高度减去顶部的任何标签

将其设置为 100 以进行测试以了解我的意思。

执行 viewdidload 并确保您在之后没有更改它

于 2013-06-18T23:10:56.267 回答
0

好吧,我不知道您当前的视图布局,但是如果您尝试在视图控制器中实现 UITableview,那么另一种方法是添加一个容器,将 tableview 放置在视图中。添加类文件tableview,然后将容器与 tableview 新添加的 UITableview Controller 类连接起来。它应该工作正常。

于 2013-06-20T05:38:25.300 回答