真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

開發(fā)環(huán)境如下:

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計與策劃設(shè)計,龍文網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:龍文等地區(qū)。龍文做網(wǎng)站價格咨詢:13518219792

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

首先要弄懂幾個基本的概念。

一)三個結(jié)構(gòu)體:CGPoint、CGSize、CGRect

這三個結(jié)構(gòu)體均在一個頭文件里:

#include

打開文件如下:

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

其中 CGRect 的偏移量是相對父窗口的。

二)三個方法:CGPointMake、CGSizeMake、CGRectMake

這三個函數(shù)還是在剛剛那個頭文件里面:

#include

打開文件如下:

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

備注:可見

#include

這個文件里有宏定義:

CG_EXTERN

CG_INLINE

追根溯源,可以發(fā)現(xiàn)在文件

#include

文件中有宏定義:

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

可見上述這三個函數(shù)是不是內(nèi)聯(lián)函數(shù),要看是哪種編譯器。通過如下輸出可判定是哪知編譯器:

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

三)幾個基本界面元素:window(窗口)、視圖(view)

要在屏幕上顯示內(nèi)容首先要創(chuàng)建一個窗口(window)承載內(nèi)容,要創(chuàng)建一個窗口,需要一個邊框(frame),含有邊框信息的底層 結(jié)構(gòu)就CGRect。每個能夠在屏幕上顯示自己的對象都有一個邊框(frame),定義了他的顯示區(qū)域,不過許多高層的視圖類(UIView)會自動計算這一信息。其他的那些類則在視圖初始化時通過一個initWithFrame的初始化方法來設(shè)置。

再來認識一個類:UIScreen。UIScreen類代表了屏幕,通過這個類我們可以獲取一些想要的東東。

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

UIView

下面來認識一下UIView類。這個類繼承自UIResponder,看這個名字我們就知道它是負責(zé)顯示的畫布。如果說把window比作畫框的話,我們就是不斷地在畫框上移除、更換或者疊加畫布,或者在畫布上疊加其他畫布,大小當(dāng)然由繪畫者來決定了。有了畫布,我們就可以在上面任意操作了。

這個類在

#include

里面。

下面我們先學(xué)習(xí)一些基礎(chǔ)的東西。

首先進入其頭文件里面,查看其 frame 和 bounds 屬性。

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

這里我們要弄清楚frame和bounds這兩個屬性的區(qū)別:

-(CGRect)frame{

returnCGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);

}

-(CGRect)bounds{

returnCGRectMake(0, 0, self.frame.size.width, self.frame.size.height);

}

可見:

frame:該view在父view坐標(biāo)系統(tǒng)中的位置和大小。(參照點是,父親的坐標(biāo)系統(tǒng))

bounds:該view在自身坐標(biāo)系統(tǒng)中的位置和大小。 (參照點是,自身坐標(biāo)系統(tǒng))

創(chuàng)建畫布的基本方式如下:

CGRect CGone = CGRectMake(0.0, 0.0, 320, 100); //畫個矩形,初始化位置與大小

UIView *v_one = [[UIViewalloc] initWithFrame:CGone];//初始化view

我們可以把這塊畫布加到其他畫布上。

[self.windowaddSubview:v_one];//直接加到畫框上


UIWindow

UIWindow繼承自UIView,關(guān)于這一點可能有點邏輯障礙,畫框怎么繼承自畫布呢?不要過于去專牛角尖,畫框的形狀不就是跟畫布一樣嗎?拿一塊畫布然后用一些方法把它加強,是不是可以當(dāng)一個畫框用呢?這也是為什么 一個view可以直接加到另一個view上去的原因了。一個應(yīng)用程序只能有一個UIWindow。

看一下系統(tǒng)的初始化過程:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];

// Override point for customization after application launch.

self.window.backgroundColor = [UIColor whiteColor];//給window設(shè)置一個背景色

[self.windowmakeKeyAndVisible];//讓window顯示出來

return YES;

}

實戰(zhàn)演練:

1)新建一個工程選擇 Empty Application 名字為FirstTest。
2)在application didFinishLaunchingWithOptions里面,你會發(fā)現(xiàn)系統(tǒng)已經(jīng)建好一個畫框了,我們現(xiàn)在就用系統(tǒng)幫我們建好的畫框,你當(dāng)然也可以自己建一個畫框,不過沒這個必要了。

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

輸出效果如下:

有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)

本文參考連接:http://blog.csdn.net/iukey/article/details/7083165

附件:http://down.51cto.com/data/2363690

新聞名稱:有關(guān)View的幾個基礎(chǔ)知識點-IOS開發(fā)
本文鏈接:http://weahome.cn/article/ipedjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部