在父视图中添加ImageView后,UIScrollView是否停止滚动?

时间:2015-10-09 07:54:36

标签: ios objective-c iphone uiscrollview

我的主视图中有一个validate。它工作正常。当我在该滚动视图顶部添加UIScrollView时,UIScrollView停止了滚动。但是如果我删除UIImageView,它工作正常。 UIImageView的目的是为主视图提供背景图像。

视图层次结构是

  • 父视图
    • 背景UIImageView
    • UIImageView

enter image description here

我在viewDidLoad函数中添加了以下代码:

UIScrollView

4 个答案:

答案 0 :(得分:0)

添加图片视图后添加此行。我假设你在主视图中添加了scrollview和image。

[self.view bringSubviewToFront:yourscrollview]

并将scrollview背景颜色设置为clearcolor,以便显示图像背景。

答案 1 :(得分:0)

您在以下行中设置了ContentSize错误的UIScrollView

_scrollView.contentSize = self.view.frame.size;
_scrollView.frame = self.view.frame;

如果它等于它自己的大小,它将不会滚动。给它一个大于的内容大小。 做这样的测试:

_scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 1000); 

另外,为什么要再次将_scrollView添加为子视图?它已经通过xib文件添加到视图中。您是否在代码中重新添加了背景UIImageView?如果是的话,这会给你带来更多问题。摆脱多余的手动添加子视图。

答案 2 :(得分:0)

你的scrollView的contentSize应该有一个比你的scrollview基本框架更大的框架,否则,它不会滚动,这意味着你没有留下足够的空间让scrollView滚动显示。

答案 3 :(得分:0)

在xib中,您需要告诉xib ScrollView的ContentSize。如果你给它前导空格,尾随空格,顶部空间和底部空间,你只是告诉超级视图你的ContentSize,所以你需要给他宽度约束和高度约束,然后超级视图将知道你的实际帧;如果高度或宽度大于ContentSize,它将滚动。