关于ios:使用Swift在UIScrollView上对zoomScale进行动画处理

Animating a zoomScale on UIScrollView with Swift

iOS应用程序相对较新,而且很快,因此我对如何进行操作有些迷茫。

基本上,我有一个UIImageView,并且我可以捏住缩放/滚动,因为我的UIImageView位于UIScrollView中,但是我想在UIImage上双击以进行放大。

我可以进行放大(现在仅将zoomScale设置为3.0),但是我希望能够进行平滑过渡。我确实看到过zoom(to:,animated :)方法,但是我不确定如何放大视图的中心。

无论如何,这就是我到目前为止所拥有的。

我已经创建了tapGestureRecognizer,并将其分配给UIImageView

1
2
3
 let tapGesture =  UITapGestureRecognizer(target: self, action: #selector(tapImageViewGesture))        
    self.Image1.isUserInteractionEnabled = true
    self.Image1.addGestureRecognizer(tapGesture)

及以下是执行缩放的功能

1
2
3
4
5
func tapImageViewGesture(sender: UITapGestureRecognizer) {
    print("Touched")
    self.pinchZoomScroll1.zoomScale = 3.0

}

有没有一种简单的方法可以使我获得某种平滑的放大动画?还是应该使用缩放功能,因为它已经支持动画了?

谢谢!!


您可以使用以下方法将设置动画设置为true:

1
self.pinchZoomScroll1.setZoomScale(3.0, animated: true)

或者您还可以通过设置scrollViewminimumScale和max scale来使用scrollView委托函数:

1
2
3
4
5
6
7
 pinchZoomScroll1.minimumZoomScale = 1.0
 pinchZoomScroll1.maximumZoomScale = 6.0

func viewForZooming(in scrollView: UIScrollView) -> UIView? {

return Image1
}