带内容视图的UIScrollView

我一直在尝试为用户注册表创建一个UIScrollView但没有成功。 我正在使用自动布局,滚动视图内的所有字段都是静态的。 由于通常模糊的高度问题,我在滚动视图中添加了一个UIView,将约束设置为滚动视图的边距并居中对齐。 之后,我在故事板中添加了内容视图中的所有字段。

内容字段按照您的预期设置其约束,但是当我到达最低字段并将底部约束设置到内容视图的底部时,一切都会中断。

我被Xcode要求设置一些视图的优先级,当我这么说时,内容视图大小保持不变,视图缩小。

我试图不放置最后一个底部约束并通过代码调整内容视图的大小,但高度不会按原样resize。

我正在寻找一个很好的解决方案,在故事板和自动布局中做到这一点。

在此处输入图像描述

更新:我添加了一个低优先级的底部约束,但内容滚动视图未展开以显示所有字段。

在此处输入图像描述

您正在使用自动布局,因此内容视图的大小由约束决定。 按照以下步骤提供适当的约束:

  1. 在主视图中拖动滚动视图,并根据屏幕截图提供与超级视图(主视图)对齐的顶部,底部,前导和尾随约束。

在此处输入图像描述

  1. 获取包含内容的视图并在“滚动视图”中拖动。 并根据屏幕截图提供约束中心X,中心Y,顶部,底部,前导和尾随与滚动视图对齐

在此处输入图像描述

  1. 将所有元素放在内容视图中,这是滚动视图的子视图,并提供相对于其上方元素的Top约束,以在元素之间创建相等的空间(例如,标签,按钮等)(确保为X提供所需的约束) -位置)

  2. 最后一个元素是“注册帐户”按钮,确保相对于superview(内容视图)提供相对于country和Bottom约束的Top Constraint,并根据屏幕截图更改Top或Bottom约束的优先级,否则会出错。

在此处输入图像描述

  1. 添加和设置ScrollView(UIScrollView) 在此处输入图像描述

  2. 使用子视图添加和设置ContentView(UIView)

! 将ContentView Width设置为View Width

在此处输入图像描述

  1. 设置所有子视图约束
  2. View1应该绑定到ContentView的顶部 在此处输入图像描述

  3. View4应该绑定到ContentView的底部 在此处输入图像描述

  4. 所有SubView(View1,View2,View3,View4 ……)必须具有彼此之间的高度和距离

Ps在您的情况下,如果iOS> 9.0,您可以用UIStackView替换ContentView