我试图用autolayout包围UIScrollView。我知道这已被问过很多次,但没有任何解决办法对我有用。
视图层次结构为:
view (UIView)
- scrollView (UIScrollView)
- contentView (UIView)
- label (UILabel)
约束是(按照建议here和其他地方):
滚动视图:
内容查看:
(...也就是说,将所有四边固定在滚动视图上,将一个尺寸固定在滚动视图的超视图上)。
这给了我错误:
Scroll View需要约束:height。
我进一步在内容视图中添加标签,并将其宽度,高度,前导空间和垂直空间约束到容器顶部(即固定大小,并固定到contentView
的左上角)。 / p>
但是,它出现在红色框架中,但左窗格中没有建议丢失约束(仅限滚动视图)。
无论如何我添加了所有缺失的约束:导航窗格中的红色八角形按钮 - 用于滚动视图 - 和“| -triangle- |”右下角的按钮(选择了标签)
当我启动应用时,我的布局会短暂显示,然后渐变为白色(视图控制器的视图背景颜色)。
答案 0 :(得分:1)
我昨天也犯了同样的错误。您可能已将接口放在LaunchScreen.storyboard而不是Main.Storyboard或类似。启动屏幕仅提供启动屏幕。关于你的自动布局问题,我建议使用内置的“重置建议约束”功能。
答案 1 :(得分:1)
这是您的视图层次结构
view (UIView)
- scrollView (UIScrollView)
- contentView (UIView)
- label (UILabel)
您添加的所有约束都是okey但您必须根据滚动在contentView上再添加一个约束。
如果您想要修复高度基础滚动,则必须在内容视图上添加高度约束。 如果你想动态比你为scrollview添加约束相等的高度,而不是设置相等高度约束的muliplier