-(void)scrollViewDidZoom:(UIScrollView *)scrollView{
CGFloat xcenter = scrollView.center.x , ycenter = scrollView.center.y;
//目前contentsize的width是否大于原scrollview的contentsize,如果大于,设置imageview中心x点为contentsize的一半,以固定imageview在该contentsize中心。如果不大于说明图像的宽还没有超出屏幕范围,可继续让中心x点为屏幕中点,此种情况确保图像在屏幕中心。
xcenter = scrollView.contentSize.width > scrollView.frame.size.width ? \
scrollView.contentSize.width/2 : xcenter;
//同上,此处修改y值
ycenter = scrollView.contentSize.height > scrollView.frame.size.height ? \
scrollView.contentSize.height/2 : ycenter;
[[scrollView viewWithTag:imageview] setCenter:CGPointMake(xcenter, ycenter)];
}
设置scrollview的bouncesZoom属性可以确保view的放缩比例超出设置比例范围时自动进行反弹。
使图片自适应屏幕大小,以确保图片在屏幕正中的方法:
float x_scale = scrollView.frame.size.width/selectedImage.size.width;
float y_scale = scrollView.frame.size.height/selectedImage.size.height;
CGFloat scale = x_scale < y_scale ? x_scale : y_scale;
imageView.transform = CGAffineTransformMakeScale(scale, scale);
联系客服