做iOS開發,我們需要指定控制項,文本,圖片等顯示在視圖的位置,那麼我們不可避免的和下面的三個結構打交道
CGPoint
CGSize
CGRect
注意:這三個是結構,不是類,所以在使用的時候一般不用指標。下面我們看這三個結構的定義。
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedefstructCGPoint CGPoint;
/* Sizes. */
struct CGSize {
CGFloat width;
CGFloat height;
};
typedefstructCGSize CGSize;
/* Rectangles. */
struct CGRect {
CGPoint origin;
CGSize size;
};
typedefstructCGRect CGRect;
CGRect和前兩者的關係如所示:
這三個結構分別有一個對應的產生函數:
產生函數 |
例子 |
CGPointMake (x, y) |
CGPoint point = CGPointMake (100.0, 200.0);
point.x = 300.0; point.y = 30.0; |
CGSizeMake (width, height) |
CGSize size = CGSizeMake (42.0, 11.0); size.width = 100.0; size.height = 72.0; |
CGRectMake (x, y, width, height) |
CGRect rect = CGRectMake (100.0, 200.0, 42.0, 11.0); rect.origin.x = 0.0; rect.size.width = 50.0; |
在iOS編程中,座標系統說明如下:
不論裝置的方向如何,原點一定在螢幕的左上方,Y軸是從上到下,依次變大,X軸是從左至右,依次變大。
需要說明的幾點
1.座標和長度都是float型,
2.你可以指定一個螢幕外的值,甚至是負值,這個時候把螢幕想像成位於一個笛卡兒座標系中即可,不過和普通的笛卡兒座標系不同的是,第一象限在右下部。