必须对tableView重新加载数据两次才能更新约束

时间:2016-07-08 13:49:52

标签: objective-c uitableview autolayout uicollectionview constraints

我的UITableViewCell里面有UICollectionView。设置所有约束。我的单元格中有dataSource属性。我的dataSource上的Setter

- (void)setDataSource:(id<MyCellDataSource>)dataSource
{
    self->_dataSource = dataSource;
    [self.collectionView reloadData];
    [self updateTagsWrapperConstraint];
}

- (void)updateTagsWrapperConstraint
{
    CGFloat height = self.collectionView.collectionViewLayout.collectionViewContentSize.height;
        self.tagsWrapperHeightConstraint.constant = height;
}

self.tagsWrapperHeightConstraint是我的包装UIView高度限制。问题是我必须在我的API提取方法中使用双tableView数据重新加载。

[self.tableView reloadData];
[self.tableView setNeedsLayout];
[self.tableView layoutIfNeeded];
[self.tableView reloadData];

如果我没有实现这个 - 我的单元格将在另一个数据提取后更新她的高度。

P.S我有第二个控制器,这可以正常工作。帮帮我。提前谢谢,Artem。抱歉我的英语很差。

0 个答案:

没有答案