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

      

    这样就完成了。

  • 相关阅读:
    如何进行市场洞察?
    敏捷开发团队的四种组织形式
    RxJava + Retrofit源码解析
    Node.js基础入门第七天
    Node.js基础入门第十天
    Node.js基础入门第八天
    Node.js基础入门第九天
    android 线程更新UI的问题
    svelte组件:svelte3自定义桌面PC端对话框组件sveltelayer
    进程通讯 & Binder机制 & Service 笔记
  • 原文地址:https://www.cnblogs.com/16-jkd/p/5205410.html
Copyright © 2020-2023  润新知