Cocoa中层(layer)坐标系的极简理解
来源:互联网 发布:淘宝商家店铺名字在哪 编辑:程序博客网 时间:2024/06/05 08:36
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)
Cocoa层的坐标系一直理解的不清晰,现在把它整理总结一下:
1: layer在super layer中的位置由frame属性来确定,而bounds属性的原点永远是(0,0),因为bounds相对的layer自己.
2: layer还有一个position属性,它就是锚点在super layer 中的位置.它和锚点有着直接的关系,虽然它和锚点不在一个坐标系中,但是它们是重合的!position的坐标系在其superlayer中,而锚点的坐标系在layer自身上.
3: 一个很神奇的特点是,虽然锚点和position密切相关,但是修改两者之一并不会对另外一个的值产生任何影响!所影响的是frame中origin的值!一个推论是:如果改变锚点,则layer在superlayer中的位置也会发生改变,即origin会改变.
网上一段理解是:因为它们不在一个坐标系,所以互相不会受影响,但同时它们又是相互影响的(有点量子力学的赶脚 ;])
4: 如果直接修改layer.frame中的origin值,所影响的将会是position.
5: 如下公式帮助理解:
position.x = frame.origin.x + anchorPoint.x * bounds.size.width; position.y = frame.origin.y + anchorPoint.y * bounds.size.height;
6: mac和iOS中关于origin的位置是不同的:
0 0
- Cocoa中层(layer)坐标系的极简理解
- 理解ArcGIS的坐标系
- cocos2d 坐标系的理解
- OpenGL坐标系的理解
- 游戏坐标系的理解
- Cocoa Touch Layer
- Cocoa Touch Layer
- opengl中坐标系的理解
- 深入理解ArcGIS的地理坐标系、大地坐标系
- 深入理解ArcGIS的地理坐标系、大地坐标系
- [IOS/翻译]Cocoa Touch Layer
- flex中层的布局
- 理解Cocoa的委托 数据源和控制器
- 理解Cocoa的委托 数据源和控制器
- 机器人学中对齐次坐标系的理解
- GDI绘图坐标系映射的理解
- OpenGL中各种坐标系的理解
- OpenGL中各种坐标系的理解
- Mysql在大型网站的应用架构演变
- C++中的String类
- iOS 第三方框架-Masonry介绍与使用实践
- Genymotion在ubuntu下登录,出现unknown generic error错误的解决方法
- JVM可支持的最大线程数
- Cocoa中层(layer)坐标系的极简理解
- 步步为营<一> C语言简介 和 编译环境搭建
- Java 8 日期时间 API
- 第十五周项目2—洗牌
- C++ 私有继承 【GeekBand 第四周】
- Java数据结构源码分析-HashTable
- 框架 day46 Maven
- ACM天梯赛练习L1-002. 打印沙漏
- python--datetime模块