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

hbo*_*ger 2 storyboard uitableview ios

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

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

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

Sal*_*idi 5

为您的UITableView使用灵活高度.

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

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

编辑:自动布局为ON时,不显示自动调整大小的框和属性.