//optional雙指鍵
//創(chuàng)建滑動視圖
UIScrollView * scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
//導(dǎo)入代理協(xié)議UIScrollViewDelegate
scrollView.delegate=self;
//scrollView.contentOffset偏移量
//scrollView.contentInset內(nèi)邊距
//最小縮放系數(shù)
scrollView.minimumZoomScale= 0.5f;
//最大縮放系數(shù)
scrollView.maximumZoomScale= 2.0f;
[self.viewaddSubview:scrollView];
//創(chuàng)建圖片視頻添加到滑動視圖上
_zoomView= [[UIImageView alloc] initWithFrame:CGRectMake(0,0,scrollView.frame.size.width,scrollView.frame.size.height)];
_zoomView.image= [UIImage imageNamed:@"7.jpg"];
[scrollView addSubview:_zoomView];
}
#pragma mark --- UIScrollViewDelegate
//返回一個縮放的視圖這個視圖是滑動視圖的子視圖
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return _zoomView;
}
//縮放一般用這個代碼量少好實現(xiàn)
- (void)scrollViewDidZoom:(UIScrollView*)scrollView {
/*
//第一種方法:
//如果不進行判斷放大之后會回縮如果視圖不是整屏幕的大小需要設(shè)置設(shè)置圖片的中心位置不然會跑動
if (scrollView.zoomScale < 1) {//縮小比例>1;
//內(nèi)邊距設(shè)置視圖邊緣跟設(shè)備邊緣的距離設(shè)置上下左右四個邊距
//UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)
scrollView.contentInset = UIEdgeInsetsMake((scrollView.frame.size.height - scrollView.contentSize.height)*0.5, (scrollView.frame.size.width - scrollView.contentSize.width)*0.5, (scrollView.frame.size.height - scrollView.contentSize.height)*0.5, (scrollView.frame.size.width - scrollView.contentSize.width)*0.5);
}else {//放大
scrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
}
*/
//第二種方式:通過計算偏移量
//contentSize滾動區(qū)域現(xiàn)視圖的占的高寬大小
CGFloatoffsetX = scrollView.bounds.size.width> scrollView.contentSize.width? (scrollView.bounds.size.width- scrollView.contentSize.width) * 0.5 : 0.0;
CGFloatoffsetY = scrollView.bounds.size.height> scrollView.contentSize.height? (scrollView.bounds.size.height- scrollView.contentSize.height) * 0.5 : 0.0;
_zoomView.center=CGPointMake(scrollView.contentSize.width/2 + offsetX, scrollView.contentSize.height/2 + offsetY);
}