我的水平滚动视图不起作用

时间:2018-07-05 16:17:00

标签: swift xcode uiscrollview containers

我已在我的应用程序的视图中添加了一个滚动视图,该视图是从选项卡控制器中选择的,因此是一个容器,而不是UIViewController,它声明如下:

class HomeViewController: Container, UIScrollViewDelegate {..

我已将滚动视图添加到情节提要中,并向其中添加了所有组件,并从情节提要中分配了委托,并将此代码放置在了ViewController中

scrollview.contentSize = CGSize(width:1048, height:scrollview.frame.height)
scrollview.delegate = self

这就是我的ScrollView在情节提要中的外观,您可以看到scrollview是我的UIScrollView,然后添加了UIView viewScroll,然后向viewScroll添加了四个视图(View1,View2,View3和View4),scrollview的大小为375x340,并将viewScroll设置为1048x340

enter image description here

当我运行该应用程序时,它不会滚动。因为它不是UIViewController,所以我需要以其他方式处理吗?还是我想念其他东西?

1 个答案:

答案 0 :(得分:0)

  

我已在故事板上添加了滚动视图,并将宽度设置为1050,将高度设置为330

您应该将滚动视图的宽度和高度设置为与其包含的视图一样大。您需要将滚动视图的contentSize设置为1050和330-仅当contentSize大于其边界时,scrollView才可滚动。

如果要使用Interface Builder设置滚动视图,则需要向其子级边缘添加约束。例如,在您的情况下,您必须向View Scroll视图添加前导,尾随,顶部和底部约束。选择它并在界面构建器中添加以下约束:

Constraints

在那之后,将会出现以下内容:

enter image description here

在向UIScrollView的子视图添加边缘约束时,您在向滚动视图暗示其内容大小。而且,如果滚动视图知道其内容大小并且大于滚动视图的范围,则可以进行滚动操作。