iOS開發關於位置的三個結構

來源:互聯網
上載者:User

做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.你可以指定一個螢幕外的值,甚至是負值,這個時候把螢幕想像成位於一個笛卡兒座標系中即可,不過和普通的笛卡兒座標系不同的是,第一象限在右下部。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.