当前位置: 首页 > news >正文

为什么scrollview中手指向上滑时contentOffset是增大的

手指向上滑时contentOffset增大,我在开始的时候觉的这个很费解。


下面是contentOffset的定义(苹果的文档写的特别拗口,可读性上比微软的文档差太多):

The point at which the origin of the content view is offset from the origin of the scroll view.

翻译过来就是content view的原点相对于scroll view frame原点的偏移。


从视觉上效果上看,scroll view滚动时,我们会觉得scroll view的frame没有动,动的是content view。

因为scroll view的frame不动,则以其为坐标系,手指向上滑时,content view的原点在向上移动。

如果这么理解的话,手指向上滑动时,contentOffset应该减少才对。


后来看了一片文章才理解了为什么手指向上滑时contentOffset是增大的。

对于系统绘图来说,实际是从context view中截取frame大的一块儿出来,
然后把截取到的图贴到父视图上去。

所以在滚动时,从context view中截一块儿图的角度来看,

则是content view没有动,动的是从content view截图的这个窗口,这个窗口相当于scroll view的frame。

所以手指向上滑动,则截图的窗口需要向下移动,所以contentOffset是增大的。

从scroll view的实现者来说,这么作太自然了,也很方便。

相关文章:

  • objc的字符串变量中拼入宏
  • 推荐一个在线的三维电子地图站点
  • Collection NSArrayM was mutated while being enumerated
  • 数学之美 系列八-- 贾里尼克的故事和现代语言处理
  • 数学之美 系列十七(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型...
  • 两个iCarousel联动
  • 数学之美 系列一 -- 统计语言模型
  • 和java的DES/ECB/PKCS5Padding相同的objc实现方式
  • 数学之美 系列二 -- 谈谈中文分词
  • DZNEmptyDataSet实现的分析
  • 数学之美 系列三 -- 隐含马尔可夫模型在语言处理中的应用
  • 设置status bar字体颜色的优化方案
  • 使UILabel垂直考上对齐
  • 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引
  • 为什么layer的mask属性和photoshop的mask不一样
  • 2017前端实习生面试总结
  • Python3爬取英雄联盟英雄皮肤大图
  • React as a UI Runtime(五、列表)
  • 创建一个Struts2项目maven 方式
  • 开源地图数据可视化库——mapnik
  • 前端攻城师
  • 双管齐下,VMware的容器新战略
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Prometheus VS InfluxDB
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 阿里云服务器如何修改远程端口?
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (1)Nginx简介和安装教程
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (八)Flask之app.route装饰器函数的参数
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (十一)手动添加用户和文件的特殊权限
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET建议使用的大小写命名原则
  • @FeignClient注解,fallback和fallbackFactory
  • [<MySQL优化总结>]
  • [acm算法学习] 后缀数组SA
  • [AX]AX2012 R2 出差申请和支出报告
  • [dart学习]第四篇:函数
  • [Design Pattern] 工厂方法模式
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART
  • [IDF]啥?
  • [js] 正则表达式
  • [leetcode 双指针]
  • [MYSQL]mysql将两个表结果合并到一起
  • [one_demo_3]漩涡递增矩阵
  • [Oracle]4--查询操作
  • [Poetize6] IncDec Sequence
  • [poj] 3422 Kaka's Matrix Travels || 最小费用最大流
  • [Silverlight]通过MVVM模式实现本地化/全球化(1)
  • [UVALive 3716] DNA Regions