CALayer的基本使用

  UIImageView *imageView = [[UIImageView alloc]initWithImage:image];

  [self.view addSubview:imageView];

 // 给图片设置阴影

  // 提示,在imageView中,图层不止一个,如果要实现圆角效果,需要设置一个遮罩属性
    // masksToBounds属性可以让imageView中的所有子图层跟随imageView一起变化

   imageView.layer.cornerRadius = 50.0f;
    [imageView.layer setMasksToBounds:YES];

 // 提示,如果设置了masksToBounds属性,imageView的阴影效果无效

    [imageView.layer setShadowColor:[UIColor redColor].CGColor];

    [imageView.layer setShadowColor:[UIColor redColor].CGColor];
    [imageView.layer setShadowOffset:CGSizeMake(10.0, 10.0)];
    [imageView.layer setShadowOpacity:1.0];

  // 设置CALayer的边框

    [imageView.layer setBorderColor:[UIColor blueColor].CGColor];
    [imageView.layer setBorderWidth:3.0f];

// 形变属性 在CALayer 中的形变属性是3D的,不再是2D的

// 平移属性,向上移动100个点

// [imageView.layer setTransform:CATransform3DMakeTranslation(0, -100, 0)];

//图像的旋转通常是沿着z轴旋转,图像本身没有厚度如果按照x或者y旋转

90度,图像是不可见的

自定义视图的layer的演练

因为core animation是跨平台的,基于quartzcore框架的,是因为UIKit框架,仅能支持iOS平台

通过CATransaction 关闭每一个CALayer内部的隐式动画

关闭动画

[CATransaction begin];

  [CATransaction setDisableActions:YES];

// 要重绘制CALayer,必须要调用setNeedDisplay方法

 [myLayer setNeedsDisplay];

不能讲layer的delegate设置为view,通常将控制器设置为CAlayer的代理

会实现drawLayer inContext方法

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值