我正在制作自定义裁剪图像控制器。 UIScrollView是我添加滚动内容(UIImageView)的主视图。滚动和缩放效果很好,但我现在要做的是添加裁剪区域,以便用户可以在该区域内滚动/缩放图像。我在所有的东西上添加了UIView,只是为了表明作物区域。如果我将UIScrollView框架设置为适合屏幕尺寸(见图1),那么用户无法向下滚动内容的顶部(黄色图像),因此它与裁剪区域的to一致(因为图像适合UIScrollView,它不可滚动)。图片1:
如果我将UIScrollView设置为裁剪的大小(见图2),它的工作原理很完美,除了我看不到滚动区域后面的任何内容(黑色)。图2:
有没有办法将滚动区域设置为裁剪区域并让UIScrollView框架适合屏幕尺寸?或者我应该解决不同的问题?
答案 0 :(得分:2)
考虑将Content Insets
添加到滚动视图,等于从顶部到裁剪区域的间隙,从滚动视图的底部到裁剪区域的底部。
[self.scrollView setContentInsets:UIEdgeInsetsMake(top, left, bottom, right)];
其中top
和bottom
应如下所示:
CGFloat top = CGRectGetMinY(self.cropAreaView.frame);
CGFloat bottom = CGRectGetMaxY(self.cropAreaView.frame);
您的示例中的和left
以及right
为0。