美文网首页
iOS中图层几何学

iOS中图层几何学

作者: 浪呀么浪打浪 | 来源:发表于2020-07-08 20:28 被阅读0次

UIView有三个重要的布局属性:frame,bounds和center,CALayer对应的叫frame,bounds和position。为了区分,图层使用了position,视图用了center。但是他们都代表同样的值。

视图的frame,bounds和center属性仅仅是存取方法,当操作视图的frame,实际上是在改变位于视图下方CALayer的frame,不能够独立于图层之外改变视图的frame。

对于视图或者图层来说,frame并不是一个非常清晰的属性,它其实是一个虚拟属性,是根据bounds,position和transform计算而来,所以当其中一个值发生变化,frame就会变化。frame变化也会影响其他的值。

对图层做变换的时候,比如选择或者缩放,frame实际上代表了覆盖在图层旋转之后的整个轴对齐的巨型区域,也就是frame的宽高可能和bounds的宽高不一致了。

锚点

anchorPoint位于图层的中点,但是图层的anchorPoint可以被移动。当改变了anchorPoint,position属性保持固定的值并没有发生改变,但是frame却移动了。

Z坐标轴

和UIView严格的二维坐标系不同,CALayer存在于一个三维空间当中,zPosition和anchorPointz,二者都是在Z轴上描述图层位置的浮点类型。

zPosition属性除了做变换之外,zPosition最实用的功能是改变图层的显示顺序。

Hit Test

CALayer并不关心任何响应链事件,所以不能直接处理触摸事件或者手势。但是它有一系列的方法帮你处理事件:-containsPoint: 和-hitTest。

containsPoint:接受一个本图层坐标系下的CGPoint,如果这个点在图层frame范围内就返回yes。

-hitTest:方法同样接受一个CGPoint类型参数,而不是BOOL类型,它返回图层本身,或者包含这个坐标点的叶子节点图层。

相关文章

  • iOS中图层几何学

    UIView有三个重要的布局属性:frame,bounds和center,CALayer对应的叫frame,bou...

  • iOS核心动画高级技巧二(图层几何学)

    目录 图层几何学布局锚点坐标系Hit Testing自动布局 一 图层几何学 在这一章中,我们将要看一看图层内部是...

  • iOS 图层几何学

    在第二章里面,我们介绍了图层背后的图片,和一些控制图层坐标和旋转的属性。在这一章中,我们将要看一看图层内部是如何根...

  • iOS核心动画高级技巧-2

    3. 图层几何学 图层几何学 不熟悉几何学的人就不要来这里了 --柏拉图学院入口的签名 在第二章里面,我们介绍了图...

  • iOS-深入了解 Core Animation

    ** 图层树、寄宿图以及图层几何学(一)图层的树状结构**巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -...

  • iOS Core Animation - Advanced Te

    图层几何学 视图和图层布局差异 视图上的center,在图层上对应叫position center和positio...

  • IOS核心动画高级四:视觉效果

    我们在第三章【图层几何学】中讨论了图层的frame,第二章【寄宿图】我们讨论了图层的寄宿图,但是图层不仅仅可以是图...

  • Core Animation 高级技巧(四)视觉效果

    我们在第三章图层几何学中讨论了图层的frame,第二章寄宿图则讨论了图层的寄宿图。但是图层不仅仅可以是图片或是颜色...

  • 图层几何学

    UIView 有三个比较重要的布局属性: frame、bounds、center。CALayer 对应的分别叫做:...

  • iOS核心动画(二)

    图层几何学 主要介绍图层内部是如何根据付图层和兄弟图层来控制位置和尺寸,还有如何管理图层的几何结构,以及它是如何被...

网友评论

      本文标题:iOS中图层几何学

      本文链接:https://www.haomeiwen.com/subject/hixuxktx.html