如何在滚动视图中使用自动布局?

时间:2015-06-12 01:58:45

标签: xcode swift ios8 uiscrollview autolayout

所以我在最新的Xcode中使用视图控制器中的UIScrollView。我在滚动视图中有按钮。当我运行该应用程序时,滚动视图消失。任何人都可以告诉我是什么导致这个以及自动布局工具如何工作?

3 个答案:

答案 0 :(得分:1)

按照以下步骤enter image description here

  1. 进行滚动视图并设置相对于父视图的约束(前导,尾随,顶部,底部)。并为其设置一些背景颜色,以便在运行时可见。

  2. 将UIButton放在scrollview上,然后针对滚动视图设置按钮(前导,尾随,顶部)的约束,还设置按钮的宽度和高度约束,以及一些背景按钮的颜色,以便在运行时可见。

  3. 注意:您的内容的雇用时应该是这样的 -     -parentView       -ScrollView          - 按钮

    如果有任何不清楚的地方,请告诉我。

    感谢。

答案 1 :(得分:0)

这是使用自动布局设置滚动视图的方法。

  1. 拖出scrollView并将其添加到ViewController。将其边缘固定到其superView的边缘。

  2. 拖出一个新的UIView并将其放入scrollView。这将作为scrollView的contentView,它是scrollView中唯一的顶级视图。将其四个边都固定到scrollView的边缘。注意:这不会设置scrollView的内容大小。

  3. 如果希望scrollView仅垂直滚动,请将contentView的宽度设置为scrollView的宽度。为此,请从contentView转到文档大纲视图 control -drag到scrollView,然后从弹出窗口中选择 Equal Widths

  4. 要设置内容视图的高度,可以设置高度约束,然后将其高度更改为所需的值。如果要滚动,则该值必须大于scrollView的高度。另一种方法是确保contentView中的所有项目都具有高度限制并且彼此固定,最顶层的项目固定在contentView的顶部,而底部的项目固定到contentView的底部。如果您这样做,那么Auto Layout将能够为您计算contentView的高度。如果此总高度大于scrollView的高度,则contentView将滚动。

  5. 最后,添加您的按钮。现在,您可以在第3步中建立contentView的宽度,从而在ContentView中水平居中按钮。

答案 2 :(得分:0)

希望这也有助于其他人

  1. 使用autoLayout处理scrollView时,视图层次结构应该类似于
  2. enter image description here

    包含scrollView的视图( View1 )和包含在scrollView中的视图( View2 )。

    现在为 View1

    设置约束

    enter image description here

    是的,从所有方面固定它。

    为scrollView执行相同的步骤  的视图2 ,现在它将发出警告,如可滚动内容大小歧义

    现在,最强重要 步骤是按CTRL并从 View2 拖动到 View1 ,滚动按下弹出框并选择相等的宽度

    enter image description here

    现在它将为雄心勃勃的scrollView高度发出警告,但是当您向内部元素(在 View1 中)提供正确约束时,它也会消失。