我的iphone应用程序中有一些(分组样式)表格(仅在屏幕的一部分上添加Interface Builder,但未加入子类UITableViewController),80%的时间都很小,适合屏幕.当桌子适合屏幕时,我想禁用滚动,使其更清洁.但是如果表格离开屏幕(稍后将行添加到行中),我想再次启用滚动(因为否则您无法看到该内容.)
有没有办法做到这一点?我似乎无法弄明白.我知道这样做:
tableView.scrollEnabled = NO;
Run Code Online (Sandbox Code Playgroud)
但我不确定在哪里,或者我是否必须计算表格对象的大小或其他东西才能使其发挥作用.
if (table.contentSize.height < table.frame.size.height) {
table.scrollEnabled = NO;
}
else {
table.scrollEnabled = YES;
}
Run Code Online (Sandbox Code Playgroud)
我在调用reloadData表后运行此代码,它计算出正确的大小并且似乎有效.
table.frame.size.height是Interface Builder屏幕上显示的对象的实际大小(您可以看到这一点),而table.contentSize.height高度是:标题,页脚和每个单元格的高度加在一起.