我的iphone应用程序中有一些(分组样式)表(仅在屏幕的一部分上,Interface Builder
但添加了,但没有从子类添加UITableViewController
),这些表中有80%的时间很小,可以放到屏幕上。当表格适合屏幕时,我想禁用滚动功能,以使其更整洁。但是,如果表格不在屏幕上(以后再添加行时),我想再次启用滚动功能(因为否则您将看不到该内容。)
有没有办法做到这一点?我似乎无法弄清楚。我确实知道要这样做:
tableView.scrollEnabled = NO;
但是我不确定在哪里,或者我是否必须计算表对象的大小或某种方法才能使其正常工作。
更新:这是最终对我有用的解决方案:
if (table.contentSize.height < table.frame.size.height) {
table.scrollEnabled = NO;
}
else {
table.scrollEnabled = YES;
}
我在调用reloadData
表后运行此代码,它计算出正确的大小并似乎可以工作。
table.frame.size.height
是Interface Builder
屏幕上显示的对象的实际大小(可以在中看到),而是以下table.contentSize.height
对象的高度:页眉,页脚和每个单元格加在一起的高度。