iOS基础之UIScrollView(滚动视图)

  UIScrollView主要针对于图片的滚动,相册等一些功能。

  代码演示:

  创建UIScrollView:

  

  使其具有滚动功能:

//水平方向滚动
scrollView.contentSize = CGSizeMake(WIDTH * 7,0);
//垂直方向滚动
scrollView.contentSize = CGSizeMake(0,7 * HEIGHT);

  循环放入图片:

  

  设置一些相关属性:

//让scrollView按页来滚动
scrollView.pagingEnabled = YES;
//关闭水平方向滚动条
scrollView.showsHorizontalScrollIndicatour = NO;
//关闭垂直方向滚动条
scrollView.showsVerticalScrollIndicator = NO;
//关闭边界回弹效果
scrollView.bounces = NO;

  对ScrollView上的图片进行缩放: 

//设置缩放比例以及设置代理对象       
smallScroll.delegate = self;
smallScroll.minimumZoomScale = 0.2;
smallScroll.maximumZoomScale = 2.0;

//指定缩放的视图
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    //return [scrollView.subviews firstObject];
    return [scrollView.subviews objectAtIndex:0];
}
 
//中心点缩放
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
    UIImageView *imageV = [scrollView.subviews firstObject];
    if (scrollView.zoomScale <= 1.0) {
        imageV.center = CGPointMake(kWidth / 2, kHeight / 2);
    }
}

  在缩放之后,我们发现重新滑动的时候,发现图片不能恢复原来的大小,这样会影响美观,所以在这之前我们还要做这一步操作:

//减速结束,也就是停止滚动
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    for (UIScrollView *sView in scrollView.subviews){
        // 在根据子类的对象类型进⾏行判断
        if ([sView isKindOfClass:[UIScrollView class]]){
            // 把视图的尺寸恢复到原有尺⼨寸
            sView.zoomScale = 1.0;
        }
    }
}

 这一步是UIScrollView的协议方法,协议中还有其他方法:

  

这样就完成了。

posted @ 2016-02-21 19:38  金先森  阅读(1752)  评论(0编辑  收藏  举报