UIScrollView和Constraints的问题

时间:2015-02-20 09:59:20

标签: uiscrollview nslayoutconstraint

我在使用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)
     ...

以下是它的外观示例(有意为颜色,在运行时查看): Storyboard

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

但是它不可滚动且文本在右侧。

如果我在较小的屏幕上运行相同的东西,我会得到: iPhone 5

这次可以滚动(不超过你在屏幕截图中看到的内容......),文字仍然没有。

是否有人可以帮助我了解如何正确使用Constraints UIScrollView

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

1 个答案:

答案 0 :(得分:1)

使用scrollview和自动布局的最佳方法是在scrollview中添加一个视图,并将其所有边缘固定为滚动视图,并将宽度等于superview,将scrollview的所有边缘固定为superView

  1. 将标签的顶部,左侧,右侧和高度固定在FAQ1视图中。
  2. 将文字视图的顶部标记为标签,并将其左右两侧放在FAQ1视图中。
  3. 固定FAQ1视图的高度,并将faq1视图的左侧和右侧固定到内容视图。
  4. 按照步骤1到3进行所有常见问题视图。
  5. 将faq1视图的顶部固定在内容视图的顶部到顶部
  6. 将下一个常见问题视图的顶部固定到上一个常见问题视图的底部。
  7. 最后一个常见问题视图的底部到内容视图的底部
  8. 将faq1视图引脚从顶部到顶部,左侧和右侧添加到contentView的左上方和右上方,并带有必要的填充。

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