我有一个视图,我希望有一个“标题”类型块(UIView
内的一堆标签),然后是下面的表格视图。标头应为固定大小,表视图应根据运行应用程序的设备扩展到视图的底部。
整个事情都在标签栏控制器内部,我尝试(我认为)几乎所有可能的约束在Interface Builder中试图让标题固定在顶部,表视图适合其余部分视图,在3.5“或4”设备上。
正在发生的事情是标题正确修复并且表格视图位于标签栏下方,或标题在顶部导航栏下方滑动,并且表格下降到标签栏下方,以及获得大量约束错误。
答案 0 :(得分:1)
在viewController视图的顶部添加一个UIView。将其top
,trailing
和leading constraints
设置为0
及其height
即可。
这样做会将它固定在一个恒定的高度上。
将UITableView添加到蓝色UIView下方的viewController视图中。将其leading
,bottom
和trailing constraints
设置为0
。如果可以,也可以将其top contraint
设置为0
。在我的情况下,我并没有完全坚持我的蓝色视图。它低于8分,但没关系,我会在第3步中解决这个问题。
现在我选择top constraint
并设置其常量0
而不是8
。您应该看到tableView更改其高度以适应蓝色视图下方的空间。
如果您的蓝色视图位于导航栏下方,则必须将其top constraints
更改为84
。这是因为状态栏height
为20
,导航栏height
为64
。
答案 1 :(得分:0)
在没有屏幕截图的情况下,确实有点棘手,但这里有一些可能会有帮助的事情。
1.您的两个视图在界面构建器中具有相同的超级视图。 2.您的标题视图应该具有超前视图设置为0的前导约束,超视图设置为0的尾随约束,超视图设置为0的顶部约束以及设置为您想要的固定高度约束> 0。 3.您的TableView应该具有超前视图设置为0的前导约束,超视图设置为0的尾随约束,标题与其自身设置为零之间的垂直约束以及超视图设置为零的底部约束。 / p>
如果设置了这些并且您无法获得所需的效果。确保视图是您想到的大小,即将TableView背景设置为粉红色,以确保它不仅仅是一个位于错误位置的单元格而不是tableview。
希望这有帮助。