Swift CGRect类型讲解和代码演示

9 min read

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的场景。

  1. 创建一个CGRect对象

可以通过CGRectMake函数来快速创建一个CGRect对象。

示例代码:

let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
  1. 获取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
  1. 修改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
  1. CGRect的计算

使用CGRect的属性可以进行一些计算,比如获取中心点坐标。

示例代码:

let centerX = rect.origin.x + (rect.width / 2)
let centerY = rect.origin.y + (rect.height / 2)
  1. 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类型的讲解和代码演示。