带有自动布局的 UIScrollView 失败,并在启动时消失

UIScrollView with Autolayout Fails, AND Disappears on Launch

我正在尝试使用自动布局围绕 UIScrollView。我知道这个问题已经被问过很多次了,但没有一个解决方案对我有用。

视图层次结构为:

view (UIView)
  - scrollView (UIScrollView)
      - contentView (UIView)
          - label (UILabel)

限制条件是(如建议 here 和其他地方):

滚动视图:

内容视图:

(...也就是说,将所有四个边都固定到滚动视图,并将一个维度固定到滚动视图的父视图)。

这给了我错误:

Scroll View needs constraint for: height.

我进一步在内容视图中添加标签,并将其宽度、高度、前导 space 和垂直 space 约束到容器顶部(即,固定大小,并固定到 contentView的左上角)。

然而,它出现在一个红框中,但左窗格中没有建议缺少约束(仅针对滚动视图)。

我还是添加了所有缺少的约束:使用导航窗格中的红色八角形按钮 - 用于滚动视图 - 和“|-三角形-|”右下角的按钮(选中标签)

当我启动应用程序时,我的布局短暂出现然后逐渐变为白色(视图控制器的视图背景色)。

昨天我自己也犯了同样的错误。您可能将界面放在 LaunchScreen.storyboard 而不是 Main.Storyboard 或类似的位置。 Launchscreen 仅提供启动画面。关于您的自动布局问题,我建议使用内置的 "reset to suggested constraints" 函数。

这是您的视图层次结构

view (UIView)
  - scrollView (UIScrollView)
      - contentView (UIView)
          - label (UILabel)

您添加的所有约束都可以,但您必须根据滚动条在 contentView 上再添加一个约束。

就像如果你想要固定高度基础滚动而不是你必须在内容视图上添加高度限制。 如果你想要动态而不是你添加约束等高到滚动视图而不是设置等高约束的乘数