19、Core Animation 与 CAAnimation 深入解析

Core Animation 与 CAAnimation 深入解析

1. Core Animation 基础

1.1 创建 CALayer

在开发中,图层(layers)和视图(views)一样,是按层次结构排列的,每个图层都可以有子图层。以 HypnosisView 为例,它和所有视图一样,本身已经有一个图层,现在要为其显式添加一个子图层。

首先,在 HypnosisView.h 中添加一个实例变量来保存即将创建的图层对象:

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface HypnosisView : UIView {
    CALayer *boxLayer;
    UIColor *stripeColor;
    float xShift, yShift;
}
@end

CALayer 的指定初始化方法是 init。在实例化图层后,需要设置其大小、位置(相对于其父图层)和内容。在 HypnosisView.m 中修改 initWithFrame: 方法来创建一个新图层并将其添加为 HypnosisView 图层的子图层:

- (id)initWithFrame:(CGRect)r
{
    [super initWithFrame:r];
    stripeColor = [[UIColor lightGrayColor] retain];
    // 创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值