大家对UIScollView 中的contentOffset 一直有疑问。 当时我也有好多疑问,后来在网上找了一下资料,发现没有找到合理的解释,因此自己就查看了一下官方文档,自己好好的研究了一番。

现就自己总结的结论截屏分享给大家, 有争议的地方可以一块讨论。

官方解释:

contentOffset : A CGPoint value that defines the top-left corner of the scroll view bounds.

偏移量:scroll view的左上角(在本地坐标系中)的坐标点,其实就是scroll view的bounds的origin点。

我们可以通过打印来验证,仔细看下图。

 #import "ViewController.h"

 @interface ViewController ()<UIScrollViewDelegate>

 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
self.scrollView.contentSize = CGSizeMake(, );
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
redView.backgroundColor = [UIColor redColor];
[self.scrollView addSubview:redView];
self.scrollView.delegate = self; }
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ NSLog(@"self.scrollView.contentOffset.x = %f, self.scrollView.contentOffset.y = %f",self.scrollView.contentOffset.x,self.scrollView.contentOffset.y); NSLog(@"self.scrollView.bounds.origin.x = %f, self.scrollView.bounds.origin.y = %f",self.scrollView.bounds.origin.x,self.scrollView.bounds.origin.y); NSLog(@"********************************************************************************************");
} @end

为什么在UIScollView 中的向右下拖动内容,contentOffset的x和y值会变小,甚至成为负值呢?

我们在拖动content的时候,坐标系原点也会跟随conten一起移动,附上图方便理解。

最新文章

  1. JVM之SerialOld收集器
  2. 基于HTML5的3D网络拓扑自动布局
  3. 无线客户端框架设计(4):自定义生命周期的设计(iOS篇)
  4. Sprint第三个冲刺(第六天)
  5. C语言文件操作解析(五)之EOF解析(转载)
  6. 《Programming WPF》翻译 第7章 6.视频和3-D
  7. 事件委托小demo(jq版)
  8. cocoapods 删除已导入项目的第三方库和移除项目中的cocoapods
  9. js实现点击copy,可兼容
  10. JAVA简便解析json文件
  11. 【IOS 开发】Object - C 数组使用详解
  12. [error] eclipse编写spring等xml配置文件时只有部分提示,tx无提示
  13. 我在Python学习中遇到的问题一
  14. win10下安装PHP_CodeSniffer 检查编码规范
  15. LOJ#6283. 数列分块入门 7
  16. luogu 3396 哈希冲突 奇怪的根号
  17. 升级nginx 和nchan
  18. python cookbook 笔记一
  19. 洛谷 P1583魔法照片 &amp; P1051谁拿了最多奖学金 &amp; P1093奖学金
  20. python提取分析表格数据

热门文章

  1. canvas实现七巧板图案和粒子时钟
  2. 【Unity】 关于Package Manager 无限加载的问题(Loading Packages),以及可能的解决办法(待补充。)
  3. oracle常用查询sql
  4. docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)
  5. zip 命令使用记录
  6. 【cf1272】F. Two Bracket Sequences
  7. 201871010126 王亚涛 《面向对象程序设计 (Java)》第十六周学习总结
  8. http2多路复用
  9. c语言文件
  10. python3的ExecJS安装使用