我遇到了一个奇怪的问题。现在我的 TableHeaderView 大小是基于文本长度的动态。我也使用约束来安排不同的组件。这是我创建表头视图的方式...
// dynamic tableheaderview
self.postHeaderView = [[[NSBundle mainBundle] loadNibNamed:@"EPPostHeader"
owner:self
options:nil] lastObject];
[self.postHeaderView setViewWithPost:self.post];
[self.postHeaderView setNeedsLayout];
[self.postHeaderView layoutIfNeeded];
CGFloat height = [self.postHeaderView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
//update the header's frame and set it again
CGRect headerFrame = self.postHeaderView.frame;
headerFrame.size.height = height;
self.postHeaderView.frame = headerFrame;
self.postHeaderView.translatesAutoresizingMaskIntoConstraints = YES;
self.tableView.tableHeaderView = self.postHeaderView;
问题是如果在 iPhone 6s 上运行,它看起来很棒。正是我想要的。但在其他 iPhone ( 6s plus, 5, 4 ) 上,结果看起来不正确。以前有人遇到过这种情况吗?如果有人知道如何处理它,那将是一个很大的帮助......