属性框架:QuartzCore

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

与UIView的区别:

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

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

创建CALayer

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

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

     // MARK: - 1.边框 -> 向里面走!
// _redLayer.borderColor = [UIColor yellowColor].CGColor;
// _redLayer.borderWidth = 10; // MARK: - 2.阴影 -> shadow
// 阴影默认向上偏移3个点! offset
_redLayer.shadowOpacity = 1.0;
// 阴影的颜色
_redLayer.shadowColor = [UIColor blueColor].CGColor;
_redLayer.shadowOffset = CGSizeMake(, );
_redLayer.shadowRadius = ;
// _redLayer.shadowPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 100, 100)].CGPath; // MARK: - 3.内容
// 还可以直接设置背景图片!
// __bridge id 桥接 -> 将cgimage转为QuartzCore框架下得id类型!
// 以后可能还有其他的桥接形式!
// _redLayer.contents = (__bridge id _Nullable)([UIImage imageNamed:@"ice"].CGImage);
_redLayer.contents = (__bridge id)[UIImage imageNamed:@"ice"].CGImage; // MARK: - 4.圆角
_redLayer.cornerRadius = ;
_redLayer.masksToBounds = YES; // 会切掉阴影部分
 // 利用控制器视图layer的contents属性,直接设置背景图片!
// self.view.layer.contents = (__bridge id)[UIImage imageNamed:@"bg"].CGImage;

CALayer基本介绍与常见属性的更多相关文章

  1. CoreGraphics-线段常见属性及渲染模式介绍

    线段常见属性: 1.线宽 2.线头样式 3.接头样式 4.颜色(包括描边颜色和填充颜色) override func draw(_ rect: CGRect) { // 获取图形上下文对象 let c ...

  2. Ext.Window 的常见属性

    Ext.Window 的常见属性:    plain:true,(默认不是)    resizable:false,(是否可以改变大小,默认可以)    maximizable:true,(是否增加最 ...

  3. UIView的常见属性

    UIView的常见属性: @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDyn ...

  4. HTML简单介绍及常见元素

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. CSS背景图片常见属性设置

    在CSS中,图片属性的设置是必不可少的,下面介绍一下常见的图片属性: 1)背景图片插入:background-image:url(位置及名称);  //默认在父级元素内的左上角 2)背景平铺方式:ba ...

  6. Request 对象 response 对象 常见属性

    请求和响应 Express 应用使用回调函数的参数: request 和 response 对象来处理请求和响应的数据. app.get('/', function (req, res) { // - ...

  7. UIView常见属性总结

    一 UIVIew 常见属性 .frame 位置和尺寸(以父控件的左上角为原点(,)) .center 中点 (以父控件的左上角为原点(,)) .bounds 位置和尺寸(以自己的左上角为原点 (,)) ...

  8. UISlider常见属性

    常见属性 self.mySlider.minimumValue = 0.0;   // 最小值 self.mySlider.maximumValue = 10;    // 最大值 self.mySl ...

  9. UIScrollView常见属性

    什么是UIScrollView •设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 • •当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 • •普通的UIV ...

随机推荐

  1. DTO – 服务实现中的核心数据

    在一个Web服务的实现中,我们常常需要访问数据库,并将从数据库中所取得的数据显示在用户页面中.这样做的一个问题是:用于在用户页面上展示的数据和从数据库中取得的数据常常具有较大区别.在这种情况下,我们常 ...

  2. .NET Web的身份认证

    百度一下”asp.net身份认证“,你会得到很多相关的资料,这些资料通常上来就会介绍诸如”Form认证“”Windows认证“等内容,而没有给出一个完整的流程.初学者对此往往一头雾水,我也曾经被坑过很 ...

  3. 利用AOP写2PC框架(二)

    AOP的底层已经封装好了以后,我们就要开始针对应用层写具体的业务逻辑了. 也就是说我们需要有个类继承于AopProxyBase,并且重写其After,Bofore以达到我们的拦截记录的功能.代码如下: ...

  4. 基于Quick-cocos2d-x的资源更新方案 二

    写在前面 又是12点半了,对于一个程序员来说,这是一个黄金时间,精力旺盛,我想,是最适合整理和分享一些思路的时候了. 自从上次写了 基于Quick-cocos2d-x的资源更新方案 同样可见quick ...

  5. C++ std::list

    std::list template < class T, class Alloc = allocator > class list; List Lists are sequence co ...

  6. LLBL Gen Pro 5.0 企业应用开发入门

    Solutions Design 公司于2016年5月发布了LLBL Gen Pro 5.0,这个新版本的发布出乎于我的意料.我的猜想是从4.2升级到4.5,再升级5.x版本,主版本号的变更会给原有客 ...

  7. 数组去重 JS

    我说的数组去重是这样的: var arr = ['f', 'a',  'b', 'd', 'e', 'g']  ; var str='f'; 去除arr中的str 最简单的是遍历arr与str做比较, ...

  8. AngularJS之一个元素上绑定多个指令作用域

    前言 众所周知,我们在自定义指令时,会指定它的作用域,即scope设置项(默认值为false). 且,scope设置项,可以有三种值,从而也就代表三种不同的作用域,下面我们再来一起回顾下: 指令之sc ...

  9. SQL Server SQL性能优化之--通过拆分SQL提高执行效率,以及性能高低背后的原因

    复杂SQL拆分优化 拆分SQL是性能优化一种非常有效的方法之一, 具体就是将复杂的SQL按照一定的逻辑逐步分解成简单的SQL,借助临时表,最后执行一个等价的逻辑,已达到高效执行的目的 一直想写一遍通过 ...

  10. 利用Python进行数据分析 基础系列随笔汇总

    一共 15 篇随笔,主要是为了记录数据分析过程中的一些小 demo,分享给其他需要的网友,更为了方便以后自己查看,15 篇随笔,每篇内容基本都是以一句说明加一段代码的方式, 保持简单小巧,看起来也清晰 ...