无法在Storyboard中通过autolayout设置UItableView的tableHeaderView高度的约束

时间:2014-12-06 09:21:22

标签: ios8 autolayout

我希望屏幕只显示一个带有headerView的tableveiwCell.I在故事板中添加了一个UIView作为UITableView顶部的标题视图和“Size classes”(只需在UITableView顶部拖动一个UIView),它可以兼容所有设备都以这种方式屏幕尺寸。

因此,通过约束更改标题视图的高度是我想要的。但是当我尝试这样做时,我无法为headerView设置约束(Xocde不允许我在故事板中选择任何约束,下面的图2)。如下所示。

任何想法,谢谢!

项目代码在这里:https://github.com/williamhqs/AutoLayoutTableViewHeaderView

screenshot

enter image description here

EIDT: 似乎它仍然无法在故事板中设置。

然后我将不得不按代码更改表头视图的帧然后更新约束。

UIView *v = self.tableView.tableHeaderView;
CGRect fr = v.frame;
fr.size.height = [UIScreen mainScreen].bounds.size.height -100;
v.frame = fr;
[self.tableView updateConstraintsIfNeeded];

2 个答案:

答案 0 :(得分:1)

我认为UIView没有任何 superview 所以它没有显示视图的约束。

答案 1 :(得分:1)

然后我将不得不按代码更改表头视图的帧然后更新约束。

UIView *v = self.tableView.tableHeaderView;
CGRect fr = v.frame;
fr.size.height = [UIScreen mainScreen].bounds.size.height -100;
v.frame = fr;
[self.tableView updateConstraintsIfNeeded];