SwiftUI CGSize,CGRect 和 CGPoint
所属分类:ios | 发布于 2024-12-19
CGPoint
CGPoint是一种在二维坐标系中包含点的结构。来看看CGPoint的定义:
Public struct CGPoint{
public var x: CGFloat
public var y: CGFloat
public init()
public init(x: CGFloat, y: CGFloat)
}
var Point = CGPoint(x: 10 , y: 10)
CGSize
CGSize是一个包含宽度和高度值的结构。来看看CGSize的定义:
struct CGSize {
var width: CGFloat
var height: CGFloat
}
var size = CGSize(width: 50, height: 30)
需要注意的是:CGSize是宽度和高度的值。它实际上不是矩形。然后,它有时用于表示距离向量,因此其值acn为负。要将CGRect结构规范化为正值,必须调用CGRectStandardize函数。
CGRect
与CGSize不同,CGRect是一个矩形。CGRect不仅有宽度和高度,还会有原点,来看看CGRect的定义:
Public struct CGRect {
public var origin: CGPoint
public var size: CGSize
public init()
public init(origin: CGPoint, size: CGSize)
}
var rectangle = CGRect(origin: CGPoint(x:0,y:2), size: CGSize(width:10, height:20))
你可以看到原点的类型是CGPoint,大小类型是CGSize。通常,你可以绘制一个只有宽度和高度的矩形,但在iOS中,你需要知道绘制它的位置。CGRect通常用于构建一个坐标相对于父视图的UIView。
负宽度和负高度
宽度和高度值可以为负值。来看看当宽度和高度为负值时,原点是如何显示在不同的边上的: