如何使用自动布局设置tableHeaderView(UITableView)的高度?
最近3或4个小时,我一直在用头撞墙,但似乎无法解决。我有一个带有全屏UITableView的UIViewController(屏幕上还有其他内容,这就是为什么我不能使用UITableViewController的原因),并且我想让tableHeaderView可以使用自动布局来调整大小。不用说,这是不合作的。 请参见下面的屏幕截图。 因为overviewLabel(例如“在此处列出概览信息。”文本)具有动态内容,所以我使用自动布局来调整其大小,并且它是superview。除了tableHeaderView,它一切都很好地调整了大小,它位于hiearchy中的Paralax Table View的正下方。 我发现调整标题视图大小的唯一方法是通过编程,使用以下代码: CGRect headerFrame = self.headerView.frame; headerFrame.size.height = headerFrameHeight; self.headerView.frame = headerFrame; [self.listTableView setTableHeaderView:self.headerView]; 在这种情况下,headerFrameHeight是tableViewHeader高度的手动计算,如下所示(innerHeaderView是白色区域,或者第二个“ View”,headerView是tableHeaderView): CGFloat startingY = self.innerHeaderView.frame.origin.y + self.overviewLabel.frame.origin.y; CGRect overviewSize = [self.overviewLabel.text boundingRectWithSize:CGSizeMake(290.f, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: self.overviewLabel.font} context:nil]; CGFloat overviewHeight = overviewSize.size.height; CGFloat overviewPadding = ([self.overviewLabel.text length] > 0) ? 10 : …