CALayer基本介绍与常见属性
属性框架: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基本介绍与常见属性的更多相关文章
- CoreGraphics-线段常见属性及渲染模式介绍
线段常见属性: 1.线宽 2.线头样式 3.接头样式 4.颜色(包括描边颜色和填充颜色) override func draw(_ rect: CGRect) { // 获取图形上下文对象 let c ...
- Ext.Window 的常见属性
Ext.Window 的常见属性: plain:true,(默认不是) resizable:false,(是否可以改变大小,默认可以) maximizable:true,(是否增加最 ...
- UIView的常见属性
UIView的常见属性: @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDyn ...
- HTML简单介绍及常见元素
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- CSS背景图片常见属性设置
在CSS中,图片属性的设置是必不可少的,下面介绍一下常见的图片属性: 1)背景图片插入:background-image:url(位置及名称); //默认在父级元素内的左上角 2)背景平铺方式:ba ...
- Request 对象 response 对象 常见属性
请求和响应 Express 应用使用回调函数的参数: request 和 response 对象来处理请求和响应的数据. app.get('/', function (req, res) { // - ...
- UIView常见属性总结
一 UIVIew 常见属性 .frame 位置和尺寸(以父控件的左上角为原点(,)) .center 中点 (以父控件的左上角为原点(,)) .bounds 位置和尺寸(以自己的左上角为原点 (,)) ...
- UISlider常见属性
常见属性 self.mySlider.minimumValue = 0.0; // 最小值 self.mySlider.maximumValue = 10; // 最大值 self.mySl ...
- UIScrollView常见属性
什么是UIScrollView •设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 • •当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 • •普通的UIV ...
随机推荐
- Fresnel Reflection - 菲涅尔反射
[Fresnel Reflection - 菲涅尔反射] “菲涅尔”是一个人的名字,因为他发现了一个有关反射的光学现象,这个现象就用这个人的名字命名了.那么,是什么现象呢? 这就是反射/折射与视点角度 ...
- 元素绝对居中终极办法兼容IE8
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 理解Storm并发
作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 注:本文主要内容翻译自understanding-the-parall ...
- 无限分级和tree结构数据增删改【提供Demo下载】
无限分级 很多时候我们不确定等级关系的层级,这个时候就需要用到无限分级了. 说到无限分级,又要扯到递归调用了.(据说频繁递归是很耗性能的),在此我们需要先设计好表机构,用来存储无限分级的数据.当然,以 ...
- CSharpGL(9)解析OBJ文件并用CSharpGL渲染
CSharpGL(9)解析OBJ文件并用CSharpGL渲染 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
- Fiddler--一、HTTP协议简介
在学习Fiddler之前,最好先学习一下HTTP协议. HTTP协议简介 什么是HTTP协议 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...
- C#设计模式-责任链模式
在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1万的薪水可能技术经理就可以决定了,但是1万~1万5的薪水可能技术经理就没这个权利批准,可能就需要请求技术总监的批准,所以在面试的 ...
- OpenCASCADE Ring Type Spring Modeling
OpenCASCADE Ring Type Spring Modeling eryar@163.com Abstract. The general method to directly create ...
- Docker容器环境下ASP.NET Core Web API应用程序的调试
本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...
- 利用Python进行数据分析(1) 简单介绍
一.处理数据的基本内容 数据分析 是指对数据进行控制.处理.整理.分析的过程. 在这里,“数据”是指结构化的数据,例如:记录.多维数组.Excel 里的数据.关系型数据库中的数据.数据表等. 二.说说 ...