iOS CALayer使用

一. 简介

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); // 显示一半
}
时间: 2024-10-13 22:50:14

iOS CALayer使用的相关文章

iOS CALayer讲解

iOS CALayer讲解 分类: CALayer2014-09-09 13:57 450人阅读 评论(0) 收藏 举报 CALayer 一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @pro

IOS CALayer(二)

UIview内部有个默认的CALayer对象层,虽然我门不可以重新创建它,但是我门可以再其上面添加子层. 我们知道,UIView有 addSubview:方法,同样,CALayer也有addSublayer:方法.我门可以通过addSublayer:再已有layer上添加自层. 下面我门演示如何添加自层. // // ViewController.m // CX - CALayer(二) // // Created by ma c on 16/3/19. // Copyright ? 2016年

iOS CALayer视图图层

在iOS中都会牵扯到图形转换,动画效果,添加视图,等等的一系列问题,在设计页面,设计图形,添加动画的时候都会使用到这个知识. 简单的说他就是视图的图层,但又不是视图,因为视图可以和用户交互,添加响应事件,添加视图等等,但是CALayer并不可以添加响应事件等等,它只是一个视图的图层,就是这个图片的显示层,展示层,只能够显示内容,比如展示背景颜色,展示图片,设置边框,等等. UIView上面的rootLayer 发生改变的话 子图层也会发生变化 如果想要改变 button的视图形状边框等,要改变的

iOS -- CALayer之简单的使用

一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个图标等等,这些都是UIView. 其实UIView之所以能够显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层. 当UIView需要显示到屏幕时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了U

iOS:CALayer锚点的使用

CALayer层的位置主要和position和anchorPoint有关.其中它们在一起才能决定层在视图中的具体位置. @property CGPoint position;         //位置 @property CGPoint anchorPoint;  //锚点 锚点的范围:(0.0~1.0) 具体的演示如下: 1.采用默认的锚点(0.5,0.5) - (void)viewDidLoad { [super viewDidLoad]; //添加子层 CALayer *subLayer

iOS CALayer 抖动效果

方式一 1 - (void)shakeAnimationForView:(UIView *)view 2 { 3 CALayer *layer = [view layer]; 4 CAKeyframeAnimation *animation = [CAKeyframeAnimation animation]; 5 animation.keyPath = @"position.x"; 6 animation.values = @[ @0, @5, @10, @-10, @10, @5,

iOS——CALayer的shadow无效问题

CALayer *sublayer = [CALayer layer]; sublayer.backgroundColor = [UIColor purpleColor].CGColor; sublayer.shadowOffset = CGSizeMake(0, 3); sublayer.shadowRadius = 5.0; sublayer.shadowColor = [UIColor blackColor].CGColor; sublayer.shadowOpacity = 0.8; s

ios CALayer之图片剪切2

1 /**/ 2 // 设置layer边框 3 self.customView.layer.borderWidth = 10; 4 // 设置layer边框颜色 5 self.customView.layer.borderColor =[UIColor blackColor].CGColor; 6 // 设置layer的圆角(设置主图层的圆角) 7 self.customView.layer.cornerRadius = 10; 8 self.customView.layer.bounds =

ios CALayer之图片剪切

1 self.iconView.layer.borderWidth = 10; 2 self.iconView.layer.borderColor = [UIColor purpleColor].CGColor; 3 self.iconView.layer.cornerRadius = 10; 4 // 设置超出主图层的部分剪切掉 5 // self.customView.clipsToBounds = YES; 6 self.iconView.layer.masksToBounds = YES