• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[Swift实际操作]七、常见概念-(2)点CGPoint和变形CGAffineTransform的使用 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

本文将为你演示点对象CGPoint的使用,其中CG表示来自CoreGraphic(核心图形)这个跨平台框架

首先导入需要使用的两个框架
第一个框架表示界面工具框架
第二个框架表示核心绘图和动画框架

1 import UIKit
2 import QuartzCore

定义一个点对象,并设置它的位置为原点。从右侧的结果可以看出,原点的x和y值都是0

let zeroPoint = CGPoint.zero

初始化另一个点对象

var point = CGPoint()

接着查看点对象的坐标值,从右侧的结果可以看出,它的x和y值也都是0

1 point.x
2 point.y

从输出的点对象的字符描述可以看出,点对象由大括号包括,并由x和y两个值组合而成

1 point.debugDescription
2 //"(0.0,0.0)"

判断两个点对象的坐标值是否相同

point.equalTo(CGPoint(x: 0,y: 0))

初始化另一个点对象,并设置它的坐标值

var secondPoint = CGPoint(x:10,y:10)

通过仿射变换,可以对点对象进行变形。
仿射变换定义在二维空间上,可以完成平移、旋转、缩放等效果。
在此初始化一个仿射变换对象,其值为原始值

let transform: CGAffineTransform = CGAffineTransform.identity

将仿射变换对象在水平和垂直方向上,各平移10点的距离

let moveTransform = transform.translatedBy(x:10,y:10)

然后给点对象应用平移后的仿射变换。
从右侧的输出结果可以看出,点的坐标变为(20,20)

let thirdPoint = secondPoint.applying(moveTransform)

接着对仿射变换对象进行旋转90度,旋转的角度为弧度方式

let rotateTransform = moveTransform.rotated(by: 90 * 3.1415/100.0)

给点对象应用旋转后的仿射变换,从右侧的输出结果可以看出旋转后的点对象的坐标

let fouthPoint = thirdPoint.applying(rotateTransform)

点对象和字符串可以相互转换。
通过系统提供的函数,可以很方便的将格式化后的字符串,转换为点对象

let pointFromString = CGPointFromString("{100,100}")

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode984.不含AAA或BBB的字符串|StringWithoutAAAorBBB发布时间:2022-07-13
下一篇:
[Swift]LeetCode554.砖墙|BrickWall发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap