一、ios座標系統
ios以左上角爲座標原點(0,0),以原點向右側爲X軸正方向,原點下側爲Y軸正方向.
1.1 CGPoint
ios採用CGPoint來表示點在座標系上X、Y位置。
struct CGPoint {
CGFloat x;
CGFloat y;
};
咱們能夠經過CGPointMake(x,y)來建立一個座標點:
例:
CGPoint point = CGPointMake(80,40)
函數原型
public func CGPointMake(x: CGFloat, _ y: CGFloat) -> CGPoint
1.2 CGSize
ios採用CGSize來表示視圖的寬度和高度,即視圖的大小。
public struct CGSize {
public var width: CGFloat
public var height: CGFloat
public init()
public init(width: CGFloat, height: CGFloat)
}
咱們能夠經過CGSizeMake(width,height)來建立一個矩形的大小,
例:
CGSize size = CGSizeMake(80,40)
將建立一個寬度爲80,高度爲40的矩形大小。
函數原型
public func CGSizeMake(width: CGFloat, _ height: CGFloat) -> CGSize
1.3 CGRect
CGRect則是結合了CGPoint和CGSize,用來表示矩形的位置和大小。
它的origin表示矩形右上角所在位置(CGPoint),size表示矩形的大小(CGSize)。
public struct CGRect {
public var origin: CGPoint
public var size: CGSize
public init()
public init(origin: CGPoint, size: CGSize)
}
2. frame, bounds, center屬性
frame:描述當前視圖在其父視圖中的位置和大小。
bounds:描述當前視圖在其自身座標系統中的位置和大小。
center:描述當前視圖的中心點在其父視圖中的位置。
3. 使用場景
frame屬性一般用來設置視圖的大小和位置 bounds屬性比較少用 center屬性來改變(移動)視圖的位置