之前用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
}
网友评论