我希望屏幕只显示一个带有headerView的tableveiwCell.I在故事板中添加了一个UIView作为UITableView顶部的标题视图和“Size classes”(只需在UITableView顶部拖动一个UIView),它可以兼容所有设备都以这种方式屏幕尺寸。
因此,通过约束更改标题视图的高度是我想要的。但是当我尝试这样做时,我无法为headerView设置约束(Xocde不允许我在故事板中选择任何约束,下面的图2)。如下所示。
任何想法,谢谢!
项目代码在这里:https://github.com/williamhqs/AutoLayoutTableViewHeaderView
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];
答案 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];