我正在尝试创建一个裁剪工具,就像在联系人应用程序照片选择中所做的那样。我已经完成了视图和圆形图层。唯一的问题是在其中滚动。我需要图像可滚动到其边缘。
在下面的图片中,您可以看到图像的顶端如何位于圆圈上方。我无法滚动图像到下方,因此上边缘与圆的上边缘一致。原因是我不知道我该怎么做,而不是在代码方面。我不知道该如何使用它,因为要使用什么属性。现在,随着图像的进一步放大,图像的顶部边缘逐渐远离圆的顶部边缘,并且一旦图像放大到缩放比例1,图像的顶部边缘便到达了视图的顶部边缘。而且我无法将其滚动到圆圈的顶部边缘。所以有人可以给我一些实现它的指示吗?
提前致谢。
最佳答案
设置内容插入值可以达到目的。基本上,我为纵向模式计算了滚动视图内容插图的顶部和底部边缘,为风景计算了左侧和右侧,并将它们设置为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
关于swift - 如何继续使图像在scrollview特定区域内滚动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51624910/