1、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属性来改变(移动)视图的位置