有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的運(yùn)城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

首先要弄懂幾個(gè)基本的概念。

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

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

#include <CoreGraphics/CGGeometry.h>

打開文件如下:

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

其中 CGRect 的偏移量是相對(duì)父窗口的。

二)三個(gè)方法:CGPointMake、CGSizeMake、CGRectMake

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

#include <CoreGraphics/CGGeometry.h>

打開文件如下:

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

備注:可見

#include <CoreGraphics/CGGeometry.h>

這個(gè)文件里有宏定義:

CG_EXTERN

CG_INLINE

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

#include <CoreGraphics/CGBase.h>

文件中有宏定義:

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

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

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

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

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

再來(lái)認(rèn)識(shí)一個(gè)類:UIScreen。UIScreen類代表了屏幕,通過這個(gè)類我們可以獲取一些想要的東東。

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

UIView

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

這個(gè)類在

#include <CoreGraphics/UIView.h>

里面。

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

首先進(jìn)入其頭文件里面,查看其 frame 和 bounds 屬性。

有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)

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

-(CGRect)frame{

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

}

-(CGRect)bounds{

return CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);

}

可見:

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

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

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

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

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

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

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

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章標(biāo)題:有關(guān)View的幾個(gè)基礎(chǔ)知識(shí)點(diǎn)-IOS開發(fā)-創(chuàng)新互聯(lián)
URL地址:http://muchs.cn/article38/ddhpsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)虛擬主機(jī)、企業(yè)建站定制網(wǎng)站、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)