iOS 图层和动画(1)

图层和动画 (1) - 基本概念

视图:一个视图就是在屏幕上显示的一个矩形 块(比如图片,文字或者视频),它能够拦截触摸手势等用户输入。视图在层级关系中可以互相嵌套,一 个视图可以管理它的所有子视图的位置。在iOS当中,所有的视图都从一个叫做 UIVIew 的基类派生而来, UIView 可以处理触摸事件,可以支持基于Core Graphics绘图,可以做仿射变换(例如旋转或者缩放),或者简单的类似于滑动或者渐变的动画。

图层:层同样也是一些被层级关系树管理的矩形块,同样也可以包含一些内容(像图片,文本或 者背景色),管理子图层的位置。它们有一些方法和属性用来做动画和变换。和 UIView 最大的不同是 CALayer 不处理用户的 交互。

二者的关系:每一个 UIview 都有一个 CALayer 实例的图层属性,视图创建并管理这个图层,当子视图在层级关系中添加或者被移除的时候,他们关联的图层也被相应移除。实际上这些背后关联的图层才是真正用来在屏幕上显示和做动画, UIView 仅仅是对它的一个封装,提供了一些iOS类似于处理触摸的具体功能,以及Core Animation底层方法的高级接口。

图层的能力:
UIView 没有暴露出来的 CALayer的功能:
1. 阴影,圆角,边框
2. 3D变换
3. 非矩形范围
4. 透明遮罩
5. 多级非线性动画。

简单使用:

CALayer * aLayer = [CALayer layer];
aLayer.frame = CGRectMake(50, 200, 100, 80);
aLayer.backgroundColor = [UIColor orangeColor].CGColor;
[self.view.layer addSublayer:aLayer];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值