我在我的iphone应用程序中有一些(分组风格)表(仅在屏幕的一部分,并添加了Interface Builder
,虽然不是UITableViewController
的子类),80%的时间都很小,将适合屏幕。当表格适合屏幕时,我想禁用滚动,让它更干净一点。但是如果表格离开屏幕(当行后来添加到它时),我想再次启用滚动(因为否则您无法看到该内容)。
有办法做到这一点吗?我怎么也想不出来。我知道该怎么做:
tableView.scrollEnabled = NO;
但我不确定在哪里,或者我是否需要计算表对象大小之类的来让它工作。
人力资源/ > < p > < 更新: 下面是最终对我有效的解决方案: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
是的高度:页眉、页脚和每个单元格的高度相加。