我有UITableView,我将tableview的高度设置为308.对于每个单元格,它们的大小为154,如屏幕截图所示。
现在,当我运行此操作时,我在UITableView中有3行。我期待仅保持高度为308,并期望有滚动选项。在滚动时我也会看到第3行,但是UITableView的行为有所不同。整个屏幕如下图所示。
如果你看到,我可以看到该行的第三行和高度增加了。
要调整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问题?
答案 0 :(得分:0)
您的弹簧和支柱配置为自动调整UITableView
以适应屏幕高度和宽度。如果您只需要将表视图设置为308px高度,请禁用" View"中的垂直箭头。选择表视图时,界面构建器的一部分。此外,就您的问题而言,看起来您没有为表视图启用clipsToBounds
属性。