之前已经问过这种类型的question但是我出去了。
我有一个带有两个容器视图的UIViewController,它们都嵌入了一个表视图。
顶级tableview是动态的,而底部的是静态的。底部tableview中的单元格内有一个文本字段。因此,当您点击文本字段并出现键盘时,我想滚动所有内容。为此,我将两个容器视图放在一个滚动视图中。
我将滚动视图固定到四个方面。我已经添加了前导,顶部,尾部约束以及水平中心约束(如果没有,我会得到一个模糊的可滚动内容 width 错误)到顶部容器视图。对于底部容器视图,我添加了前导,底部,尾随约束。还有两个容器视图之间的垂直空间约束。
但我仍然得到模棱两可的可滚动内容高度错误。我发现此问题的answer是为了确保您从上到下有足够的约束,而我似乎拥有所有这些约束。我无法弄清楚为什么我还有这个问题。这就是我运行应用程序时的样子。
我错过了其他什么吗?
Dropbox链接到演示Xcode项目。
答案 0 :(得分:1)
解决方案是在视图中嵌入两个容器:
然后将此视图的约束设置为:
然后是上层容器的约束:
然后降低容器:
比例高度约束应如下所示:
上部为乘数0.6,下部容器为0.4。
答案 1 :(得分:0)
你有一个滚动视图,你必须提供高度约束。 将高度约束添加到普通表格视图容器,并将高度约束添加到分组视图容器。
答案 2 :(得分:0)
我在这里看到的第一个问题是将多个视图直接放入滚动视图中。不要这样做,而是在其上放置一个视图(并将其命名为containerView),并在其上定义多个视图,并以这种方式定义containerView子视图的约束,以便它们确定containerView的内容大小。这样,如果您希望scrollView仅垂直滚动,则所有containerView子视图的宽度必须等于scrollview宽度,并且它们应该从上到下放置以使scrollView垂直滚动