【问题标题】:Using UIScrollView with Autolayout使用带有自动布局的 UIScrollView
【发布时间】:2015-01-16 13:06:48
【问题描述】:

我正在尝试获得一个简单的滚动视图来使用自动布局。我的 SuperView 有一个滚动视图。 Scroll View 内部是一个 ContentView,然后是一个 ButtonsView。

View (320x480)
  |
  |__Scroll View(320x480)
          |
          |__ContentView(320x556)
                 |
                 |__ButtonsView(320x175)

SuperView 的 ScrollView 约束是 0,0,0,0 用于Leading、Trailing、Bottom 和Top。滚动视图的 ContentView 约束是 0,0,-96,0 用于前导、尾随、底部和顶部。 -96 是因为我的内容视图高度是 556。我在 ContentView 中有一个 ButtonsView。 ButtonView 对 ContentView 的约束是 0,0,238,64.35 的前导、尾随、顶部和纵横比。

我的 xib 上出现缺少约束和可滚动内容大小歧义错误。

我不想硬编码我的 ContentView 或 ButtonsView 的宽度和高度,因为我希望 xib 也适用于 iPad。

谁能告诉我我做错了什么以及如何解决这个问题?

谢谢

这不是重复的问题。上面的问题有一个滚动视图,它不能按预期工作。我的问题更多关于如何将自动布局规则应用于滚动视图。

【问题讨论】:

    标签: ios objective-c uiscrollview interface-builder autolayout


    【解决方案1】:

    您应该让 ScrollView 的内部内容来确定其内容大小。是否通过指示固定的高度和宽度(您不喜欢)。或者通过放置约束来确定与视图相关的内部内容的大小。因此,在您的特定情况下,您可以为 ContentView 和 View 添加等宽约束。要调整高度,您可以为 ButtonsView 和 ContentView 添加等高约束,乘数为 175/556

    【讨论】:

      【解决方案2】:

      您只需在ButtonsView 中添加一个底部约束到ContentView。有了这些限制,现在ContentView 可以猜测它的高度,ScrollView 也可以。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-07
        • 2015-10-23
        • 1970-01-01
        • 2018-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多