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

      

    这样就完成了。

  • 相关阅读:
    mysql/oracle 小技巧自动插入当前时间
    Java StringUtil 用法示例
    timestamp与String的相互转换
    gzip/gunzip用法
    maven常用指令
    微基站、宏基站区别
    CRAN方案
    让gvim中支持utf8编辑
    java正则表达式的几个小例子
    Sql Server数据库汉字按字母、笔划、拼音首字母、排序
  • 原文地址:https://www.cnblogs.com/16-jkd/p/5205410.html
Copyright © 2011-2022 走看看