2014-12-06 57 views
4

我希望屏幕只显示一个tableveiwCell和headerView.I在故事板中的“大小类”的UITableView顶部添加了UIView作为标题视图(只需拖动UITableView顶部的UIView),它可以以这种方式与所有设备的屏幕尺寸兼容。无法通过故事板中的自动布局设置UItableView的tableHeaderView高度约束

因此,通过约束来改变标题视图的高度是我想要的。但是当我试图做到这一点时,我不能为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]; 
+0

我不明白添加标题视图?这是一个正常的看法,你把它命名为标题视图? – Jageen 2014-12-06 10:06:46

+0

请你分享你的项目。 – Jageen 2014-12-06 10:07:43

+0

@Jageen添加标题视图只是拖动UITableView顶部的UIView作为tableViewHeaderView,当然,现在将通过gitHub共享它 – 2014-12-06 11:01:51

回答

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]; 
1

我认为的UIView没有任何上海华因此,它没有针对视图的约束。

+0

你的观点使场景。 – 2015-02-24 12:55:13

相关问题