我有一个UITableView
来自远程XML的动态加载数据。它有1个高度= 70的原型单元。
我尝试将UITableView
的高度设置为:
细胞高度x行数
使用[tbl setFrame:CGRectMake(0, 0, 320, 70 * contents.count)];
,但表格大小保持不变。
由于我使用自动布局,有人建议我应该使用:
[tbl setTranslatesAutoresizingMaskIntoConstraints:NO];
已添加,但尺寸保持不变。
如何更改UITableView
的大小以便完全符合数据大小?
答案 0 :(得分:2)
假设你的tableView被锚定在顶端,并且它的高度是不受约束的(使用占位符intrinsicSize来允许在接口构建器上这样做),你可以将UITableView扩展为这样的东西,你将不需要任何代码:
@implementation ExpandedTableView
- (void)reloadData
{
[super reloadData];
[self invalidateIntrinsicContentSize];
}
- (CGSize)intrinsicContentSize
{
return self.contentSize;
}
@end