在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文将为你演示区域对象CGRect的使用。 首先导入需要使用到底界面工具框架 import UIKit 然后初始化一个区域对象, let rect = CGRect(x: 0,y: 0,width: 100,height: 100) 从输出的区域对象的字符描述可以看出, rect.debugDescription 区域对象可以由点对象和尺寸对象组合而成, let ori = CGPoint.zero 接着初始化一个宽度和高度都是100的尺寸对象 let si = CGSize(width: 100,height: 100) 然后使用刚刚创建的点对象和尺寸对象,初始化一个区域对象, let secondRect = CGRect(origin: ori,size: si) 查询区域对象的原点坐标 1 secondRect.origin.x 2 secondRect.origin.y 查询区域对象的宽度和高度 1 secondRect.size.width 2 secondRect.size.height 也可以直接获取区域对象的宽度和高度属性 1 secondRect.width 2 secondRect.height 通过水平和垂直方向上的最小值和最大值, 1 secondRect.minX 2 secondRect.maxX 3 secondRect.minY 4 secondRect.maxY 判断该区域是否包含某个指定的点 secondRect.contains(CGPoint(x: 10,y: 10)) 判断该区域是否包含某个指定的区域 secondRect.contains(CGRect(x: 0,y: 0,width: 50,height: 50)) 判断该区域是否和另一个区域相等 secondRect.equalTo(rect) 获取另一个区域对象,该区域对象位于原区域对象的内部, secondRect.insetBy(dx: 10,dy: 10) 获得两个区域相交的区域,并观测右侧输出的结果 secondRect.intersection(CGRect(x: 40,y: 40,width: 100,height: 20)) 判断两个区域是否相交 secondRect.intersects(CGRect(x: 80,y: 0,width: 100,height: 100)) 获得一个区域对象,在水平和垂直方向各偏移10点之后的区域 secondRect.offsetBy(dx: 10,dy: 10) 获得两个区域合并之后的区域 secondRect.union(CGRect(x: 50,y: 50,width: 100,height: 100)) 和点对象尺寸对象相同,同样可以将一个格式化的字符串,转换为区域对象 CGRectFromString("{{0,0},{100,100}}") 技巧:将游戏内的二次下载推迟到玩家完成游戏的早期部分之后。为必须进行的应用内下载设计进度条和一些视觉效果,用于吸引玩家注意。 |
请发表评论