CALyaer图层应用一:图层的创建


UIView *view = [[UIView alloc]init];

    view.backgroundColor = [UIColor redColor];

    view.frame = CGRectMake(100, 100, 100, 100);

    

    [self.view addSubview:view];

    

    //CALayer(图层):所有的控件能够显示,都是因为有图层

    //每个控件上都有个CALayer的图层对象

    //CoreAnimation来自于这个框架;

    //view.layer是view的根图层

    CALayer *layer = view.layer;

    //设置layer的圆角半径

    layer.cornerRadius = 0;

    //设置阴影颜色,需要用CGColorRef颜色

    layer.shadowColor = [UIColor blackColor].CGColor;

    //设置阴影的偏移位置

    layer.shadowOffset = CGSizeMake(5, 5);

    //设置阴影的不透明度

    layer.shadowOpacity = 1;

    //设置边框颜色

    layer.borderColor = [UIColor blueColor].CGColor;

    //设置边框宽度(边框占用控件内部区域大小)

    layer.borderWidth = 5;

    //设置内容(需要传递image对象并转成id类型)

    layer.contents = (id)[UIImage imageNamed:@"image0"].CGImage;

    

    UIImage *image = [UIImage imageNamed:@"image0"];

    UIImageView *imageVIew = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image0"]];

    imageVIew.frame = CGRectMake(20, 250,image.size.width,image.size.height);

    

    //设置imageView的圆角显示,必须设置其上的layer的圆角

    //imageView上的图片是显示在layer的子图层上

    imageVIew.layer.cornerRadius = 10;

    //将layer中所有子图层超出边界的部分裁剪掉

    //imageVIew.layer.masksToBounds = YES;

    

    //设置imageView的阴影效果(必须把masksToBounds的效果禁用)

    imageVIew.layer.shadowColor = [UIColor blueColor].CGColor;

    imageVIew.layer.shadowOffset = CGSizeMake(5, 5);

    imageVIew.layer.shadowOpacity = 1;

    

    [self.view addSubview:imageVIew];

    

    //图层可以直接创建

    //图层是一个轻量级的用来显示的对象,控件和图层都可以用来显示,但是图层更轻量级,控件与图层相比,能够处理用户事件,与用户进行交互,图层简单用来显示.使用图层比使用控件更高效(损失事件处理功能的前提下)

    CALayer *layer1 = [[CALayer alloc]init];

    layer1.frame = CGRectMake(50, 500, 100, 100);

    layer1.backgroundColor = [UIColor redColor].CGColor;

    

    //图层要显示必须加到某一个图层上面

    //父图层,子图层,根图层

    [self.view.layer addSublayer:layer1];

    

    //移出layer自己

    //[layer1 removeFromSuperlayer];

    //插入一个layer

    //[self.view.layer insertSublayer:(CALayer *) above:(CALayer *)];

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值