• CALayer基本介绍与常见属性


    属性框架:QuartzCore

    CA: CoreAnimation -> 核心动画,所有的核心动画都是添加给layer的!

    与UIView的区别:

    1、layer负责内容的展示,不接受任何用户交互!

    2、UIView继承自UIResponder,可以接受用交互,执行事件处理操作!

    创建CALayer

     1     // 1.创建
     2     CALayer *redL = [CALayer layer];
     3     
     4     // 2.设置大小
     5     redL.bounds = CGRectMake(0, 0, 100, 100);
     6 
     7     // 3.设置位置 -> 不是center! 是position, 我们给视图设置的center,最终是交给了layer的position的!
     8     redL.position = CGPointMake(150, 180);
     9     
    10     // 4.背景色 -> 需要转为CGColorRef类型的颜色!
    11     redL.backgroundColor = [UIColor redColor].CGColor;
    12     
    13     // 5.添加
    14     [self.view.layer addSublayer:redL];

    常见属性:1、边框;2、阴影;3、内容(要以设置背景图片);4、圆角(masksToBounds会切掉阴影)

     1     // MARK: - 1.边框 -> 向里面走!
     2     //    _redLayer.borderColor = [UIColor yellowColor].CGColor;
     3     //    _redLayer.borderWidth = 10;
     4     
     5     // MARK: - 2.阴影 -> shadow
     6     // 阴影默认向上偏移3个点! offset
     7     _redLayer.shadowOpacity = 1.0;
     8     // 阴影的颜色
     9     _redLayer.shadowColor = [UIColor blueColor].CGColor;
    10     _redLayer.shadowOffset = CGSizeMake(100, 100);
    11     _redLayer.shadowRadius = 50;
    12 //    _redLayer.shadowPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 100, 100)].CGPath;
    13     
    14     // MARK: - 3.内容
    15     // 还可以直接设置背景图片!
    16     // __bridge id 桥接 -> 将cgimage转为QuartzCore框架下得id类型!
    17     // 以后可能还有其他的桥接形式!
    18 //    _redLayer.contents = (__bridge id _Nullable)([UIImage imageNamed:@"ice"].CGImage);
    19     _redLayer.contents = (__bridge id)[UIImage imageNamed:@"ice"].CGImage;
    20     
    21     // MARK: - 4.圆角
    22     _redLayer.cornerRadius = 20;
    23     _redLayer.masksToBounds = YES; // 会切掉阴影部分
    1 // 利用控制器视图layer的contents属性,直接设置背景图片!
    2 //    self.view.layer.contents = (__bridge id)[UIImage imageNamed:@"bg"].CGImage;
  • 相关阅读:
    BF算法(串模式匹配算法)
    python字符串 常用函数 格式化字符串 字符串替换 制表符 换行符 删除空白 国际货币格式
    python 列表
    python 循环语句
    http://www.pythontutor.com/visualize.html#mode=edit python在线检测代码
    GDI+_绘制QQ头像
    socket编程之select()
    socket编程之select()
    设置itemcontrol的item点击前后不同状态
    设置itemcontrol的item点击前后不同状态
  • 原文地址:https://www.cnblogs.com/panda1024/p/6256528.html
Copyright © 2020-2023  润新知