首页 > 移动平台 > 详细

iOS基础之UIScrollView(滚动视图)

时间:2016-02-21 19:54:00      阅读:171      评论:0      收藏:0      [点我收藏+]

  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的协议方法,协议中还有其他方法:

  技术分享

技术分享

这样就完成了。

iOS基础之UIScrollView(滚动视图)

原文:http://www.cnblogs.com/16-jkd/p/5205410.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!