UIScrollView 和约束的问题

Trouble with UIScrollView and Constraints

我在使用 UIScrollViewConstraints 时遇到问题。

我想在我的应用程序中显示 FAQ。这将包括几个不同长度的问题和答案。它在发布后不会改变,所以我直接在情节提要中处理所有事情。但是,它必须在不同的 iPhone 屏幕尺寸(从 iPhone 5 到 iPhone 6 Plus)上工作。

所以我想做的是:

UIView
  UIScrollView
     UIView (FAQ1)
        UILabel (Question 1)
        UITextView (Answer 1)
     UIView (FAQ2)
        UILabel (Question 2)
        UITextView (Answer 2)
     ...

这是它的外观示例(颜色是故意的,在 运行 时间看到):

现在如果我应用一些约束,我设法得到:

但是它不可滚动,文本显示在右侧。

如果我 运行 在较小的屏幕上做同样的事情,我明白了:

这次是可滚动的(不超过您在屏幕截图上看到的...)并且文本仍然在外面。

有没有人可以帮助我了解如何通过 UIScrollView 正确使用 Constraints

如果可能,文本大小必须在小屏幕上缩小。 如果不是,它应该保持相同的大小,但 UITextView 也可以滚动。

使用滚动视图和自动布局的最佳方式是在滚动视图内添加一个视图,并将其所有边缘固定到滚动视图,将等宽固定到超级视图,将滚动视图的所有边缘固定到超级视图

  1. 将标签的顶部、左侧、右侧和高度固定到您的 FAQ1 视图。
  2. 将文本视图的顶部固定到标签,将左侧和底部固定到 FAQ1 视图。
  3. 将您的 FAQ1 视图的高度以及您的 FAQ1 视图的左右固定到内容视图。
  4. 按照步骤 1 到 3 查看所有常见问题解答。
  5. 将常见问题 1 视图的顶部固定到内容视图的顶部
  6. 将下一个常见问题解答视图的顶部固定到上一个常见问题解答视图的底部。
  7. 将最后一个常见问题解答视图的底部固定到内容视图的底部

添加 faq1 视图时,将其顶部固定到顶部、左侧和右侧到 contentView 的左上角和右上角,并使用必要的填充。

您可以找到示例代码here 希望这能解决您的问题