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 } |