美文网首页
UIScrollView实现视图的缩放功能(-)

UIScrollView实现视图的缩放功能(-)

作者: Maggie的小蜗居 | 来源:发表于2016-06-26 14:55 被阅读352次

    之前用UIScrollView都是实现滑动的功能,在做图片的缩放时候,查到使用UIScrollView就可以简单的实现图片的缩放功能

    public var minimumZoomScale:CGFloat// default is 1.0 最小能缩放的比例

    public var maximumZoomScale:CGFloat// default is 1.0. must be > minimum zoom scale to enable zooming 最大缩放比例

    public func setZoomScale(scale:CGFloat, animated:Bool)  //手动设置视图缩放比例

    imageView.size=imageManage.imageViewSize(originImage,newSize:CGSizeMake(FL.ScreenWidth,FL.ScreenHeight))

    imageView.image=originImage

    // contentSize一定要设为image的size,否则image的size改变之后,无法拖动

    scrollView.contentSize=imageView.bounds.size

    scrollView.maximumZoomScale=2;

    如果想要scrollview 实现缩放 则需要给scrollview.delegate 对一个UIScrollViewDelegate 对象,并且重写viewForZoomingInScrollView的方法

    此方法返回要缩放的view

    func viewForZoomingInScrollView(scrollView:UIScrollView) ->UIView? {

         return self.imageView

    }

    获得当前view的缩放比例

    func scrollViewDidEndZooming(scrollView:UIScrollView, withView view:UIView?, atScale scale:CGFloat) {

         self.scale= scale

    }

    不管怎么缩放 都水平居中显示 (同样可以实现垂直居中)

    func scrollViewDidZoom(scrollView:UIScrollView) {

       var offsetX:CGFloat=0.0

       if scrollView.bounds.size.width> scrollView.contentSize.width{

          offsetX = (scrollView.bounds.size.width- scrollView.contentSize.width)/2

      }

      self.imageView.centerX= scrollView.contentSize.width/2+ offsetX

    }

    相关文章

      网友评论

          本文标题:UIScrollView实现视图的缩放功能(-)

          本文链接:https://www.haomeiwen.com/subject/qsoadttx.html