几天来一直试图解决这个问题。
假设我在UISCrollView中嵌入了一个imageView,一切都正确实现。
目前的功能如何:当用户捏住并放大图片的右上角时,它会向右上方区域缩放。
我希望如何:我希望图片只在UIView的中心缩放,无论用户在照片上的位置如何。
我在考虑以某种方式拦截捏手势识别器并对其进行修改,以使捏位置始终位于屏幕的中心,但不确定是否可能。有任何想法吗?谢谢!
答案 0 :(得分:5)
如果您希望缩放仅在中心发生,请使用 scrollViewDidZoom 委托方法。
<强> - CODE - 强>
-(void)scrollViewDidZoom:(UIScrollView *)scrollView{
CGFloat width = scrollView.contentSize.width/2;
width =width-width/scrollView.zoomScale;
CGFloat height = scrollView.contentSize.height/2;
height =height-height/scrollView.zoomScale;
scrollView.contentOffset = CGPointMake(width, height);
}
答案 1 :(得分:0)
在我看来,你有很多选择。我将陈述一个我觉得最容易的东西(如果它不起作用,将深入研究)。
对UIScrollView
进行子类化并覆盖它的layoutSubviews
方法,并使用它将滚动视图的visibleRect
设置为滚动视图的中心(恰好是其中心)图片,通过截图判断)。它将保持zoomLevel
,因此您无需更改它。