UITableView底部单元格隐藏在屏幕下方

时间:2013-06-18 23:04:40

标签: ios uitableview storyboard

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

我认为问题是表格视图上的框架尺寸。我没有找到通过故事板改变它的方法,并试图动态地改变尺寸:

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”实际上解决了问题,滚动现在已经与屏幕底部对齐。

3 个答案:

答案 0 :(得分:5)

为您的UITableView使用灵活高度。

  1. 打开包含UITableView的storyboard / nib文件。
  2. 选择您的表格。
  3. 从“实用工具”中,选择“尺寸检查器”选项卡。
  4. 在“自动调整大小”框中,选择“垂直尺寸重新排列”。
  5. 它会根据父视图高度的变化调整表格大小。

    编辑:自动调整设置为ON时,不会显示自动调整大小的框和属性。

答案 1 :(得分:0)

您的桌面高度大于屏幕高度:将高度设置为屏幕高度减去顶部的任何标签

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

执行viewdidload并确保在

之后不要更改它

答案 2 :(得分:0)

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