使用自动布局调整UITableView的大小并进行编程

时间:2014-06-04 10:19:23

标签: ios uitableview autolayout

我有一个UITableView来自远程XML的动态加载数据。它有1个高度= 70的原型单元。

我尝试将UITableView的高度设置为:

  

细胞高度x行数

使用[tbl setFrame:CGRectMake(0, 0, 320, 70 * contents.count)];,但表格大小保持不变。

由于我使用自动布局,有人建议我应该使用:

[tbl setTranslatesAutoresizingMaskIntoConstraints:NO];

已添加,但尺寸保持不变。

如何更改UITableView的大小以便完全符合数据大小?

1 个答案:

答案 0 :(得分:2)

假设你的tableView被锚定在顶端,并且它的高度是不受约束的(使用占位符intrinsicSize来允许在接口构建器上这样做),你可以将UITableView扩展为这样的东西,你将不需要任何代码:

@implementation ExpandedTableView

- (void)reloadData
{
    [super reloadData];
    [self invalidateIntrinsicContentSize];
}

- (CGSize)intrinsicContentSize
{
    return self.contentSize;
}

@end