- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Swift语言iOS开发:CALayer十则示例(上)
如你所知,我们在iOS应用中看到的都是视图(view),包括按钮视图、表视图、滑动条视图,
还有可以容纳其他视图的父视图等。
但你或许不知道在 iOS 中支撑起每个视图的是一个叫做图层(layer)的类,确切地说是
CALayer。
本文中您会了解CALayer及其工作原理,还有应用CALayer打造酷炫效果的十则示例,比如绘制
矢量图形、渐变色,甚至是粒子系统。
本文要求读者熟悉iOS应用开发和Swift语言的基础知识,包括利用Storyboard构建用户界面。
注:如果您尚未掌握这些基础,不必担心,我们有不少相关教程,例如使用Swift语言编写iOS
应用和iOS学徒。
准备开始
要理解图层是什么,最简便的方式就是实地考察。我们这就创建一个简单的项目,从头开始玩
转图层。
准备好写代码了吗?好!启动Xcode,然后:
1.选择File\New\Project菜单项。
2.在对话框中选择iOS\Application\Single View Application。
3.点击Next,Product Name填写CALayerPlayground,然后输入你自己的Organization Name
和Identifier。
4.Language选Swift,Devices选Universal。
5.取消选择Core Data,点击Next。
6.把项目保存到合适的位置(个人习惯把项目放在用户目录下建立的Source文件夹),点击
Create。
好,文件准备就绪,接下来就是创建视图了:
7.在项目导航栏(Project navigator)中选择Main.storyboard。
8.选择View\Assistant Editor\Show Assistant Editor菜单项,如果没有显示对象库(Object
Library),请选择View\Utilities\Show Object Library。
9.然后选择Editor\Canvas\Show Bounds Rectangles,这样在向场景添加视图时就可以看到轮
廓了。
10.把一个视图(View)从对象库拖入视图控制器场景,保持选中状态,在尺寸检查器
(View\Utilities\Show Size Inspector)中将x和y设为150,Width和Height设为300。
11.视图保持选中,点击自动布局工具栏 (Storyboard右下角)的Align按钮,选中Horizontal
Center inContainer和VerticalCenter inContainer,数值均为0,然后点击Add 2Constraints。
12.点击Pin按钮,选中Width和Height,数值均设为300,点击Add 2 Constraints。
最后按住control从刚刚创建的视图拖到ViewController.swift文件中viewDidLoad()方法的
上方,在弹框中将outlet命名为viewForLayer,如图:
点击Connect创建outlet。
将ViewController.swift 中的代码改写为:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var viewForLayer: UIView!
var l: CALayer {
return viewForLayer.layer
}
override func viewDidLoad() {
super.viewDidLoad()
setUpLayer()
}
func setUpLayer() {
l.backgroundColor = UIColor.blueColor().CGColor
l.borderWidth = 100.0
l.borderColor = UIColor.redColor().CGColor
l.shadowOpacity = 0.7
l.shadowRadius = 10.0
}
}
之前提到iOS中的每个视图都拥有一个关联的图层,你可以通过yourView.layer访问图层。这
段代码首先创建了一个叫l (小写L)的计算属性,方便访问v
您可能关注的文档
- C03_酒店营销创新__市场营销与酒店营销创新.pdf
- CH1特许经营的涵义及其发展历程.pdf
- eIPD研发管理系统 系统流程操作介绍.pdf
- FM03资产减值准备管理暂行办法.pdf
- HGD-DEV以太网门禁系统安装与调试说明书.pdf
- HTDC-RL-LC01员工招聘管理流程.pdf
- Iub口IP化故障定位指导书.pdf
- QSDSDL 0001 S-2015 山东三顿粮农产品有限公司 谷物粥料.pdf
- SPC原理及运用介绍.pdf
- Top100summit人工智能技术在UI自动化测试中的应用.pdf
- 中国国家标准 GB/T 6113.106-2024无线电骚扰和抗扰度测量设备和测量方法规范 第1-6部分:无线电骚扰和抗扰度测量设备 EMC天线校准.pdf
- 《GB/T 6113.106-2024无线电骚扰和抗扰度测量设备和测量方法规范 第1-6部分:无线电骚扰和抗扰度测量设备 EMC天线校准》.pdf
- 中国国家标准 GB/T 7260.3-2024不间断电源系统(UPS) 第3部分:确定性能和试验要求的方法.pdf
- GB/T 7260.3-2024不间断电源系统(UPS) 第3部分:确定性能和试验要求的方法.pdf
- 《GB/T 7260.3-2024不间断电源系统(UPS) 第3部分:确定性能和试验要求的方法》.pdf
- 中国国家标准 GB/T 28478-2024户外家具 桌椅类通用技术条件.pdf
- 《GB/T 28478-2024户外家具 桌椅类通用技术条件》.pdf
- GB/T 28478-2024户外家具 桌椅类通用技术条件.pdf
- 中国国家标准 GB 28007-2024婴幼儿及儿童家具安全技术规范.pdf
- 《GB 28007-2024婴幼儿及儿童家具安全技术规范》.pdf
文档评论(0)