【问题标题】:UIScrollView with Autolayout Fails, AND Disappears on Launch具有自动布局的 UIScrollView 失败,并在启动时消失
【发布时间】:2016-01-05 23:24:42
【问题描述】:

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

视图层次结构是:

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

约束是(如建议here 和其他任何地方):

滚动视图:

  • 引导空间到容器边距
  • 到容器边距的尾随空间
  • 与顶部布局指南的垂直间距
  • 与底部布局指南的垂直间距

内容视图:

  • 引导空间到容器边距
  • 到容器边距的尾随空间
  • 到容器上边距的垂直间距
  • 到容器底部边距的垂直间距
  • 与“视图”等宽

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

这给了我错误:

滚动视图需要约束:高度。

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

但是,它显示在一个红框内,但左侧窗格中没有建议缺少约束(仅用于滚动视图)。

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

当我启动应用程序时,我的布局会短暂显示,然后淡出为白色(视图控制器的视图背景颜色)。

【问题讨论】:

    标签: ios uiscrollview autolayout interface-builder ios9


    【解决方案1】:

    我昨天自己也犯了同样的错误。您可能已将您的界面放在 LaunchScreen.storyboard 而不是 Main.Storyboard 或类似的地方。 Launchscreen 仅提供启动画面。关于您的自动布局问题,我建议使用内置的“重置为建议的约束”功能。

    【讨论】:

    • 愚蠢的我。我想我已经为此奋斗了太久了。我开始了一个空的测试项目(几乎无法区分两个故事板)这一事实使这成为可能......但我仍然无法让它在我的实际应用程序上运行。
    • 我没有任何表格视图;只是 UIScrollView。
    【解决方案2】:

    这是您的视图层次结构

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

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

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

    【讨论】:

    • 我想要一个水平滚动的滚动视图,高度恒定,全宽。项目将在运行时动态添加到内容视图中,并排一个接一个。
    • 对于水平滚动在 contentView 上添加六个约束 容器边距的前导空间 容器边距的尾随空间 容器顶部边距的垂直间距 容器底部边距的垂直间距 与“scrollView”相等的宽度根据该大小设置多人滚动你想要的。与“scrollView”等高
    • 发送您的邮件ID,我会为此向您发送演示
    猜你喜欢
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多