使视图控制器以最简单的方式滚动

时间:2016-03-15 10:29:30

标签: ios swift scrollview bounce

下图是我的主屏幕的外观。我有三个元素:serach bar和两个按钮。我想这样做,以便整个屏幕可以垂直拖动,以便它可以上下反弹。是否有捷径可寻?我听说滚动视图是一个很好的方法,但我不完全确定从这里开始滚动视图,针对这个具体情况。

enter image description here

1 个答案:

答案 0 :(得分:3)

可以这样做,但请记住,在IB中使用滚动视图可能很棘手,至少在开始时是这样。所以你想要的基本上是这样的布局:

                 (ScrollView)
+-------------------------------------------+
| +---------------------------------------+ |
| |                                       | |
| |               (TopView)               | |
| |                                       | |
| +---------------------------------------+ |
| +---------------------------------------+ |
| |                                       | |
| |            (BottomView)               | |
| |                                       | |
| +---------------------------------------+ |
+-------------------------------------------+

现在,使用自动布局的所需约束是:

  • ScrollView到Superview:将所有边缘固定为所需的边距
  • TopView to ScrollView:pin top and side egdes
  • BottomView to ScrollView:pin bottom and side edges
  • TopView to BottomView:将TopView底部固定到BottomView顶部

现在更棘手的是:

  • TopView to ScrollView:使宽度相等
  • BottomView to ScrollView:make width equal
  • TopView to ScrollView:使高度相等,然后更改为比例,即1:2
  • BottomView to TopView:高度相等

然后将BouncesBounce Vertically设置为YES(代码或IB中),一切都应该有效。

第二组约束是为其contentSize计算提供滚动视图的基础。如果

,它们实际上可以省略
  • 所有子视图都将高度约束设置为常数

  • 所有子视图都可以通过其他约束从内容中获取高度