1.要在view中從上到下設置好各個約束
[self.header setNeedsLayout];
[self.header layoutIfNeeded];
CGFloat height = [self.header systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect headerFrame = self.header.frame;
headerFrame.size.height = height;
self.header.frame = headerFrame;
self.tableView.tableHeaderView = self.header;
3.自定義的header中
- (void)layoutSubviews{
[super layoutSubviews];
self.contenLabel.preferredMaxLayoutWidth = CGRectGetWidth(self.contenLabel.frame);
}
4.如果視圖中有hidden的布局文件,在不顯示的時候 要remove,避免影響自動布局