美文网首页ios 八点钟学院
UIScrollView 原理解析

UIScrollView 原理解析

作者: 腾讯课堂八点钟学院 | 来源:发表于2016-12-11 12:41 被阅读57次

    在我们app中,UIScrollView几乎贯穿我们整个项目业务,为什么这么说,我们来看UITableview,UICollectionView,UITextView等都是继承UIScrollView的,而这些控件使用频率之高,想大家都知道,所以知道UIScrollView的底层实现还是有必要的。扎实的基础就像楼盘的地基,地基越稳就可以越高。

    1、UIScrollView滑动技能,是不是感觉有点神奇,居然能滑动,马上揭开他滑动的底层实现。

    首先我们来查找UIScrollView能滑动的来源,他继承UIView,所以不是来自父类,那么我们来看系统文件

    发现有一个panGestureRecognize滑动手势,我们来做一把测试,把这个手势移除

    结果scrollView失去了滑动的效果,我们找到了答案,滑动原来是panGestureRecognize来实现的。

    2、那么滑动过程中子视图一起移动的效果是怎么做到的呢,其实很简单:

    首先我们必须知道UIView的frame和bounds的作用

    frame是相对父视图坐标系来决定自己的位置和大小,在开发过程中会经常用到,不多解释。

    但bounds是相对于自身坐标系的位置和尺寸的,什么意思呢,我们去修改视图bounds的origin试试,我们发现视图本身没有发生变化,但是它的子视图的位置却发生了变化,因为bounds的origin值是基于自身的坐标系,当自身坐标系的位置被改变了,里面的子视图肯定得变化,bounds和panGestureRecognize就是实现UIScrollView滑动效果的关键技术点。

    3、我们了解原理,那么我们自己来实现一个UIScrollView,撸上代码,一切尽在代码中

    看完是不是发现UIScrollView的滑动原理很简单!是的,就这么简单!

    相关文章

      网友评论

        本文标题:UIScrollView 原理解析

        本文链接:https://www.haomeiwen.com/subject/arqalttx.html