带内容视图的UIScrollView

时间:2017-08-14 06:14:55

标签: ios xcode swift3 uiscrollview

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

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

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

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

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

enter image description here

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

enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

enter image description here

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

enter image description here

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

  2.   
  3. 最后一个元素是“注册帐户”按钮,确保提供相对于国家/地区和相关的底部约束的顶部约束   superview(内容视图)并更改Top或Bottom的优先级   截图限制,否则会出错。

  4.   

enter image description here

答案 1 :(得分:0)

  1. 添加和设置ScrollView(UIScrollView) enter image description here

  2. 使用子视图

  3. 添加和设置ContentView(UIView)

    !将ContentView Width设置为View Width

    enter image description here

    1. 设置所有子视图约束
    2. View1应该绑定到ContentView的顶部 enter image description here

    3. View4应该绑定到ContentView的底部 enter image description here

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

    5. P.S。在您的情况下,如果iOS> 9.0你可以用UIStackView替换ContentView