设置UIScrollView滚动区域

时间:2014-03-19 15:32:56

标签: ios objective-c uiscrollview

我正在制作自定义裁剪图像控制器。 UIScrollView是我添加滚动内容(UIImageView)的主视图。滚动和缩放效果很好,但我现在要做的是添加裁剪区域,以便用户可以在该区域内滚动/缩放图像。我在所有的东西上添加了UIView,只是为了表明作物区域。如果我将UIScrollView框架设置为适合屏幕尺寸(见图1),那么用户无法向下滚动内容的顶部(黄色图像),因此它与裁剪区域的to一致(因为图像适合UIScrollView,它不可滚动)。图片1: enter image description here

如果我将UIScrollView设置为裁剪的大小(见图2),它的工作原理很完美,除了我看不到滚动区域后面的任何内容(黑色)。图2: enter image description here

有没有办法将滚动区域设置为裁剪区域并让UIScrollView框架适合屏幕尺寸?或者我应该解决不同的问题?

1 个答案:

答案 0 :(得分:2)

考虑将Content Insets添加到滚动视图,等于从顶部到裁剪区域的间隙,从滚动视图的底部到裁剪区域的底部。

[self.scrollView setContentInsets:UIEdgeInsetsMake(top, left, bottom, right)];

其中topbottom应如下所示:

CGFloat top = CGRectGetMinY(self.cropAreaView.frame);
CGFloat bottom = CGRectGetMaxY(self.cropAreaView.frame);
您的示例中的

left以及right为0。