zoukankan      html  css  js  c++  java
  • 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的协议方法,协议中还有其他方法:

      

    这样就完成了。

  • 相关阅读:
    self 和 super 关键字
    NSString类
    函数和对象方法的区别
    求两个数是否互质及最大公约数
    TJU Problem 1644 Reverse Text
    TJU Problem 2520 Quicksum
    TJU Problem 2101 Bullseye
    TJU Problem 2548 Celebrity jeopardy
    poj 2586 Y2K Accounting Bug
    poj 2109 Power of Cryptography
  • 原文地址:https://www.cnblogs.com/16-jkd/p/5205410.html
Copyright © 2011-2022 走看看