绝对干货 CALayer几点实际用法
来源:互联网 发布:驾驶行为大数据分析 编辑:程序博客网 时间:2024/06/05 14:36
应该来说CALayer是一个比较底层的类,每一个UIView里面封装有一个UILayer的属性(其实我们点击UIView进去也可以看见这个属性)。在使用前需要导入QuartzCore框架,然后再需要设置CALayer的地方引用头文件QuartzCore.h。
一.简单UIView处理
接下来就介绍下它常用的几个地方:
1)圆角:
2)边框:
3)阴影:
二.对于层次较多的处理。
上面三个方法简单粗暴,直接解决问题。
那是不是有了这个就可以设置所有圆角,边框或者阴影了呢?
接下来我们来看另外一种实例,平时难免遇见的就是对 图片的圆角处理,我们尝试着使用上面的第一条来对图片进行处理。
1)设置图片圆角
这样看来是不是就会出现我们上面所说的情况呢?是不是图片就会圆角处理呢?
如果你亲自代码尝试后,就会奇怪的发现不是这样的,图片依旧是原样。那么这是什么原因呢?
原因就在于imageView图层不止有一个,我们尽管对该layer进行了设置圆角,其实仅仅对父图层进行了处理,但是上面的图片还是没有处理。这个时候就需要引入我们iOS中一个专业术语叫做“遮罩”。可以看下面代码
[imageView.layer setMasksToBounds:YES];这个时候如果再来观察,就会发现我们的图片已经圆角了。这个“遮罩”起的作用就是让所有视图随着俯视图的layer变化而变化。
2)设置图片边框
跟上面设置圆角一样,能够正常显示。
3)设置图片阴影
我们会发觉这个时候,尽管我们设置了“遮罩”,但是依旧没有阴影。
但是假如我们将这个“遮罩”注释掉后,图片阴影出现了。
经过查看资料,发现其实这一点是苹果处理比较不完美的地方,这样就使得我们在使用的时候,需要在阴影以及圆角之间进行取舍,究竟使用阴影呢还是使用圆角呢?当然这个根据客户需求来。假如客户既想实现圆角又要阴影的话,我们只能跟UI设计师进行合作了。
三.如何用CALayer来设置形变
这里的形变指的是UIView的变化,比如imagev的放大缩小,旋转等等。
这点的学习可以加深我们的动画内容理解。
直接上代码:
这里就可以实现imageView形变。
我们还可以使用KVC幅值的原理来进行设置:
依旧能够正常实现。这里可以体现出KVC 的高大尚了吧。
这就是CALayer的一点干货知识,如果有其他观点,还望各位看官指正。
- 绝对干货 CALayer几点实际用法
- 干货:pkg-config工具在实际工程中的用法
- const几点用法
- const几点用法
- const几点用法
- const几点用法
- const几点用法
- @RequestParam几点用法
- CALayer用法
- JavaCC详解 绝对干货
- Java GC(绝对干货)
- Java_GC(绝对干货)
- Java GC(绝对干货)
- 绝对干货:关于php7几件你必须知道的事
- const 的几点用法
- const的几点用法
- const几点用法(转)
- const的几点用法
- 海量数据处理面试题(july的博客)
- 嘴壮走昨罪爪浊住谞卒淄邹子资琢琢佐淄
- Socket编程(多线程、双向通信)
- 【网络流】 HDU 3157 Crazy Circuits 有源汇上下界最小流
- 如何使用相对于 SendDlgItemMessage() SendMessage()
- 绝对干货 CALayer几点实际用法
- 最小公约数(大整数乘除法,C++)
- CodeForces-236A-Boy or Girl
- 驻资坠砖鬃抓尊桌阻醉走鬃妆浊谞组滓卒
- 咎内湍茄寺掀煤耙庇荷释碧八臃虏
- Android自定义对话框(Dialog)位置,大小
- 学而不记则徒劳无功
- 材返刚党捉朗萄严唐松卵朗巴迷湃
- 靖医贤僬谑寿释粗芍弦衣诺艺澄贸