使用Swift在UIScrollView上设置zoomScale动画

时间:2017-08-09 01:41:50

标签: ios swift animation uiscrollview uiimageview

相对较新的iOS应用程序,并且很快,所以我对如何继续进行了一点迷失。

基本上,我有一个UIImageView,我可以捏缩放/滚动,因为我的UIImageView在UIScrollView中,但是我想在UIImage上添加双击来放大同样。

我可以放大(现在只需将zoomScale设置为3.0),但我希望能够顺利过渡。我确实看到了缩放(to:,animated :)方法,但我还不确定如何放大视图的中心。

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

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

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

及以下是执行缩放的功能

func tapImageViewGesture(sender: UITapGestureRecognizer) {
    print("Touched")
    self.pinchZoomScroll1.zoomScale = 3.0

}

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

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法设置set animation true:

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

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

 pinchZoomScroll1.minimumZoomScale = 1.0
 pinchZoomScroll1.maximumZoomScale = 6.0 

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

return Image1
}