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

之前用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

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容