我正在尝试创建一个裁剪工具,就像在联系人应用程序照片选择中所做的那样。我已经完成了视图和圆形图层。唯一的问题是在其中滚动。我需要图像可滚动到其边缘。
在下面的图片中,您可以看到图像的顶端如何位于圆的上方。我无法滚动图像到下方,因此上边缘与圆的上边缘一致。原因是我不知道我该怎么做,而不是在代码方面。我不知道该如何使用它,因为要使用什么属性。现在,随着图像的进一步放大,图像的顶部边缘逐渐远离圆的顶部边缘,并且一旦图像放大到缩放比例1,图像的顶部边缘就会到达视图的顶部边缘而且我无法将其滚动到圆圈的顶部边缘。所以有人可以给我一些实现它的指示吗?
谢谢。
答案 0 :(得分:0)
设置内容插入值可以达到目的。基本上,我为纵向模式计算了滚动视图内容插图的顶部和底部边缘,为风景计算了左侧和右侧,并将它们设置为contentinset值。
还必须将contentInsetAdjustmentBehavior设置为never,以便避免任何不必要的插图更改。现在可以使用了。
if screenHeight > screenWidth {
let top = (view.bounds.height / 2.0) - (view.bounds.width / 2.0)
scrollView?.contentInset = UIEdgeInsetsMake(top, 0, top, 0)
} else {
let top = (view.bounds.width / 2.0) - (view.bounds.height / 2.0)
scrollView?.contentInset = UIEdgeInsetsMake(0, top, 0, top)
}
scrollView?.contentInsetAdjustmentBehavior = .never