CGRect是Core Graphics框架中的结构体类型,用于表示一个矩形的位置和大小。即一个CGRect对象包含了矩形左上角的原点坐标(x值和y值)和宽度(width值)以及高度(height值)。
CGRect的定义如下:
struct CGRect {
CGFloat origin.x;
CGFloat origin.y;
CGFloat size.width;
CGFloat size.height;
};
其中,origin.x和origin.y表示矩形左上角的原点的坐标;size.width和size.height表示矩形的宽度和高度。
CGRect类型经常被用来作为CALayer,UIView,UIImage等UI组件的位置和大小属性的类型。
下面是一些常见的使用CGRect的场景。
- 创建一个CGRect对象
可以通过CGRectMake函数来快速创建一个CGRect对象。
示例代码:
let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
- 获取CGRect的属性值
可以使用CGRect的属性来获取矩形的各个属性值,如origin,size,x,y,width,height等。
示例代码:
let x = rect.origin.x
let y = rect.origin.y
let width = rect.width
let height = rect.height
- 修改CGRect的属性值
可以使用CGRect的属性来修改矩形的各个属性值,如origin,size,x,y,width,height等。
示例代码:
var rect = CGRect(x: 0, y: 0, width: 100, height: 100)
rect.origin.x = 50
rect.origin.y = 50
rect.size.width = 200
rect.size.height = 200
- CGRect的计算
使用CGRect的属性可以进行一些计算,比如获取中心点坐标。
示例代码:
let centerX = rect.origin.x + (rect.width / 2)
let centerY = rect.origin.y + (rect.height / 2)
- CGRect的比较
可以使用CGRectEqualToRect函数来比较两个CGRect是否相等。
示例代码:
let rect1 = CGRect(x: 0, y: 0, width: 100, height: 100)
let rect2 = CGRect(x: 0, y: 0, width: 100, height: 100)
if CGRectEqualToRect(rect1, rect2) {
print("rect1 is equal to rect2")
} else {
print("rect1 is not equal to rect2")
}
上述就是关于Swift中CGRect类型的讲解和代码演示。