-
下面代码让约束马上生效从而拿到topview的高度
[self.topView setNeedsLayout];
// [self.topView layoutIfNeeded];
// CGSize size = [self.topView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
// CGRect headerFrame = self.topView.frame;
// headerFrame.size.height = size.height;
// self.topView.frame = headerFrame;
-
下面代码更新布局放在动画里就会以动画形式更新
[self.topView layoutIfNeeded];
// [self.tableView setNeedsLayout];
[self.tableView layoutIfNeeded];
- 要tableview高度变化显示动画需要重新赋值headerview
self.tableView.tableHeaderView = self.topView;
// 告诉self.view约束需要更新