UIScrollView原理解析

了解更多IOS底层原理知识,关注腾讯课堂八点钟学院IOS高级开发 

 IOS学习交流群 431449751;

在我们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的滑动原理很简单!是的,就这么简单

了解更多IOS底层原理知识请关注腾讯课堂八点钟学院IOS高级开发

https://ke.qq.com/course/171725





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值