【ios】UI -- 滚动效果的实现原理

在UI中,会有很多视图具有可滚动属性,包括但不限于UICollectionView、UITableView等
它们的滚动原理基本相同,下面进行一个初学者的简单理解

它的滚动的实现依赖于两个属性:View的frame和bounds

  • frame:视图的位置
  • bounds:视图的大小

滚动效果可以简单理解为:当子view超出其bounds的时候,超出的部分在显示时将被“丢弃”,而通过拖动view或滚动轴,可以改变其frame,使其在界面上的相对位置发生变化(也就是它在bounds中的位置变化),从而使view显示的内容发生变更。

如图:view的可显示范围为粉色部分,view的资源内容为蓝色部分。
当view的frame为下图所示时,可显示的内容为蓝色 叠加在粉色之上的部分。
从图一到图二的过程,在界面上的显示效果为:控件向左移动了
(画图好麻烦,简单示意一下,具体的请参考下面的文档链接)
在这里插入图片描述
在这里插入图片描述
参考文档(内有图文):https://www.objc.io/issues/3-views/scroll-view/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值