码迷,mamicode.com
首页 > 移动开发 > 详细

iOS CALayer使用

时间:2015-07-09 16:22:53      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

一. 简介

1.CALayer一般作为UIView的容器

2.是一个管理图片载体的层架构

3.直接修改创建的CALayer可以触发隐藏动画

4.UIView的CALayer动画必须显示触发


二. 应用

1.修改uiview的layer相当于直接修改uiview,例如

UIView *test = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
test.layer.frame = CGRectMake(100, 100, 200, 200);
test.layer.backgroundColor = [UIColor redColor].CGColor;
[self.view addSubview:test];
NSLog(@"%f %f",test.frame.size.width, test.frame.size.height); // 结果打印为修改后的属性值200 200

2.修改创建的calayer可以触发隐藏动画

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    // 创建自定义的View
    UIView *contain = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 4)];
    contain.layer.borderWidth = 1; // 显示边框
    
    // 自定义layer,只有自己创建的layer才自动创建动画效果
    _layer = [[CALayer alloc] init];
    _layer.frame = CGRectMake(0, 0, 0, 4);
    _layer.backgroundColor = [UIColor redColor].CGColor;
    // 加入layer
    [contain.layer addSublayer:_layer];
    [self.view addSubview:contain];
    
    // 3秒后执行修改动作
    [self performSelector:@selector(changelayer) withObject:nil afterDelay:3.0f];
}

// 修改属性,自动触发隐藏动画
- (void)changelayer {
    _layer.frame = CGRectMake(0, 0, 50, 4); // 显示一半
}


iOS CALayer使用

标签:

原文地址:http://my.oschina.net/littleDog/blog/476605

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!