美文网首页
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