UIScrollView 实现完美缩放

UIScrollView实现缩放非常简单。
1、首先添加代理UIScrollViewDelegate,并且设置自己创建的UIScrollView对象的代理scrollView.delegate = self;;

2、定义缩放的最大比例和最小比例;
比如:

#define minScale  1
#define maxScale  2


[_scrollView setMinimumZoomScale:minScale];
[_scrollView setMaximumZoomScale:maxScale];
[_scrollView setZoomScale:minScale animated:YES];

3、实现代理方法

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return scrollVew中要缩放的视图;   
}


// called before the scroll view begins zooming its content缩放开始的时候调用
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view NS_AVAILABLE_IOS(3_2){
    NSLog(@"%s",__func__);
}

// scale between minimum and maximum. called after any 'bounce' animations缩放完毕的时候调用。
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale

{
    //把当前的缩放比例设进ZoomScale,以便下次缩放时实在现有的比例的基础上
    NSLog(@"scale is %f",scale);
    [_scrollView setZoomScale:scale animated:NO];
}

// 缩放时调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
    // 可以实时监测缩放比例
    NSLog(@"......scale is %f",scrollView.zoomScale);

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章