認(rèn)識視圖——從零開始實現(xiàn)一個iOS應(yīng)用其2

為了便于學(xué)習(xí)初級階段的理解息尺,本篇可能在用詞和概念描述上存在模糊或者不準(zhǔn)確的地方弧蝇,大家可以在今后的學(xué)習(xí)中尋求更加準(zhǔn)確的定義驶鹉。

前言

此次我們需要認(rèn)識一個iOS開發(fā)中的一個重要的類——UIViewController(視圖控制器)谆焊,在iOS開發(fā)中蹲坷,負(fù)責(zé)展示內(nèi)容響應(yīng)交互的部分被稱作UIView(視圖),而UIViewController正是“包含了UIView的Controller”塞祈,其作用是對視圖的生命周期進行控制金刁。

視圖的生命周期

來到上一篇創(chuàng)建的項目中,打開ViewController.m议薪。

可以看到系統(tǒng)已經(jīng)默認(rèn)生成了一個方法尤蛮。

- (void)viewDidLoad

這個方法正是代表了視圖生命周期的第一個階段的回調(diào),即視圖已加載
在此方法中斯议,我們可以處理一些視圖加載完成之后要做的事产捞。

那么我們先來大概看一下視圖生命周期的主要階段

我們使用opt + 鼠標(biāo)左鍵進入UIViewController.h中,可以找到以下聲明:

image.png

以上幾個生命周期階段的回調(diào)方法是比較常用的哼御,分別是視圖即將出現(xiàn)坯临,已出現(xiàn),即將消失恋昼,已消失看靠,即將布局子視圖,已布局子視圖液肌。在后面的注釋里衷笋,官方給出了清晰的判定標(biāo)準(zhǔn)。

對視圖生命周期的認(rèn)識今后還會在實戰(zhàn)中加深矩屁,暫時就先了解到這里,接下來讓我們設(shè)置第一個視圖爵赵。

神說吝秕,要有光

在viewDidLoad中寫下

self.view.backgroundColor =[UIColor whiteColor];

運行應(yīng)用,發(fā)現(xiàn)原本漆黑的應(yīng)用界面變成了白色空幻。

這一行中的view代表了ViewController中默認(rèn)包含的一個UIView烁峭,backgroundColor則是指應(yīng)用的背景色,使用opt+左鍵可以看到它的類型為UIColor,因此我們使用

[UIColor whiteColor]

來獲取一個白色的UIColor约郁,跳進whiteColor缩挑,發(fā)現(xiàn)系統(tǒng)已經(jīng)給出了數(shù)個預(yù)設(shè)的顏色

image.png

通過以上的操作,大家應(yīng)該意識到了查看定義是非常重要的學(xué)習(xí)方法鬓梅,以后我盡量不會在文章里再重復(fù)這些過程供置,大家平時一定要養(yǎng)成多看定義的習(xí)慣

UILabel

標(biāo)簽是一個很常用的視圖控件,它代表一個可換行的只讀文字區(qū)域绽快。

下面我們通過創(chuàng)建并布局一個UILabel來認(rèn)識它的一些常用屬性芥丧。

    UILabel *myLabel = [[UILabel alloc] init];
    myLabel.frame = CGRectMake(88, 88, 0, 0);
    myLabel.text = @"我的第一個頁面";
    myLabel.textColor = [UIColor blackColor];
    myLabel.font = [UIFont systemFontOfSize:20];
    [myLabel sizeToFit];
    [self.view addSubview:myLabel];

相信這幾行代碼里的主要含義大家應(yīng)該一眼就能明白。

我們著重講幾行

myLabel.frame = CGRectMake(88, 88, 0, 0);

frame是UIView的一個屬性坊罢,它代表這個視圖在窗口中的位置和大小续担。

那么不難理解,CGRectMake中的四個參數(shù)分別為橫坐標(biāo)活孩,縱坐標(biāo)物遇,寬度,長度

其中關(guān)于坐標(biāo)的定義是憾儒,以窗口的左上角為原點询兴,向右和向下為正方向。

坐標(biāo)的單位為pt(point)航夺,并不是一個像素蕉朵,關(guān)于這一點這里先不詳細(xì)講。

通過

[UIScreen mainScreen].bounds

這個方法我們可以獲取屏幕的長寬阳掐,以iPhone 6為例始衅,寬高分別為375,667。

這里我們似乎沒有設(shè)置label的寬高缭保,因為label的尺寸會隨字體大小和字?jǐn)?shù)發(fā)生變化汛闸,這里不需要我們手動計算它的尺寸,只需在設(shè)置內(nèi)容后調(diào)用這個方法艺骂。

[myLabel sizeToFit];

然后

[self.view addSubview:myLabel];

代表將myLabel添加為view的子視圖诸老,這樣我們就能在界面上看到它了。

運行一下試試看吧钳恕。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末别伏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子忧额,更是在濱河造成了極大的恐慌厘肮,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件睦番,死亡現(xiàn)場離奇詭異类茂,居然都是意外死亡耍属,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門巩检,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厚骗,“玉大人,你說我怎么就攤上這事兢哭×旖ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵厦瓢,是天一觀的道長提揍。 經(jīng)常有香客問我,道長煮仇,這世上最難降的妖魔是什么劳跃? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮浙垫,結(jié)果婚禮上刨仑,老公的妹妹穿的比我還像新娘。我一直安慰自己夹姥,他們只是感情好杉武,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辙售,像睡著了一般轻抱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旦部,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天祈搜,我揣著相機與錄音,去河邊找鬼士八。 笑死容燕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的婚度。 我是一名探鬼主播蘸秘,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蝗茁!你這毒婦竟也來了醋虏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤哮翘,失蹤者是張志新(化名)和其女友劉穎灰粮,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忍坷,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了佩研。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柑肴。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖旬薯,靈堂內(nèi)的尸體忽然破棺而出晰骑,到底是詐尸還是另有隱情,我是刑警寧澤绊序,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布硕舆,位于F島的核電站,受9級特大地震影響骤公,放射性物質(zhì)發(fā)生泄漏抚官。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一阶捆、第九天 我趴在偏房一處隱蔽的房頂上張望凌节。 院中可真熱鬧,春花似錦洒试、人聲如沸倍奢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卒煞。三九已至,卻和暖如春叼架,著一層夾襖步出監(jiān)牢的瞬間畔裕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工碉碉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柴钻,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓垢粮,卻偏偏與公主長得像贴届,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蜡吧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容