UITableView未按指定设置高度

时间:2013-07-25 19:54:11

标签: ios objective-c uitableview

我有UITableView,我将tableview的高度设置为308.对于每个单元格,它们的大小为154,如屏幕截图所示。

enter image description here

现在,当我运行此操作时,我在UITableView中有3行。我期待仅保持高度为308,并期望有滚动选项。在滚动时我也会看到第3行,但是UITableView的行为有所不同。整个屏幕如下图所示。

enter image description here

如果你看到,我可以看到该行的第三行和高度增加了。

要调整tableview的高度,我在viewWillAppear中添加了以下代码,

mainTableView.frame = CGRectMake(mainTableView.frame.origin.x, mainTableView.frame.origin.y, 320, 308);

当我第一次运行时,我会看到所有三行。当我尝试添加并返回主屏幕时,我现在只看到两行。但问题是当我滚动时,它会崩溃。

崩溃说

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4]'

但这不是实际问题。如果这是问题,那么当我第一次去HomeViewController时它也应该崩溃。

有任何建议我应该如何解决这个UITableView问题?

1 个答案:

答案 0 :(得分:0)

您的弹簧和支柱配置为自动调整UITableView以适应屏幕高度和宽度。如果您只需要将表视图设置为308px高度,请禁用" View"中的垂直箭头。选择表视图时,界面构建器的一部分。此外,就您的问题而言,看起来您没有为表视图启用clipsToBounds属性。