/*
一、LaunchScreen
LaunchScreen產(chǎn)生原因:代替之前的啟動(dòng)圖片
好處:
1.可以展示更多的東西
2.可以只需要出一個(gè)尺寸的圖片。
啟動(dòng)圖片的優(yōu)先級(jí)
啟動(dòng)圖片 < LaunchScreen.xib
模擬器尺寸不對(duì)
程序中碰見(jiàn)模擬器尺寸不對(duì),馬上去找啟動(dòng)圖片,默認(rèn)模擬器的尺寸由啟動(dòng)圖片決定。
二、程序啟動(dòng)原理
1.創(chuàng)建UIApplication對(duì)象
2.創(chuàng)建AppDelegate對(duì)象,并且成為UIApplication對(duì)象代理屬性
3.開(kāi)啟主允許循環(huán):目的讓程序一直跑起來(lái)
4.加載info.plist文件,判斷下info.plist文件里面有木有指定main.storyboard,如果指定,就會(huì)去加載main.storyboard
main.storyboard底層實(shí)現(xiàn)
1.初始化窗口
2.加載storyboard文件,并且創(chuàng)建箭頭指向的控制器
3.把新創(chuàng)建的控制器作為窗口的跟控制器,讓窗口現(xiàn)實(shí)
三、如何加載storyboard文件
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
// instantiateInitialViewController:默認(rèn)加載箭頭指向的控制器
[storyboard instantiateInitialViewController];
四、思想
封裝思想:如果以后項(xiàng)目中,有相同的功能,抽取一個(gè)類,封裝好
如何封裝類:做到自己的事情全部交給自己管理。
抽方法:一般一個(gè)功能就抽一個(gè)方法,以后開(kāi)發(fā)中如果有相同的功能,找到對(duì)應(yīng)的類就能找到功能
五、蘋(píng)果模型
Item:就是蘋(píng)果的模型命名規(guī)范
tabBarItem:決定著tabBars上按鈕的內(nèi)容
如果通過(guò)模型設(shè)置控件的文字顏色,只能通過(guò)文本屬性(富文本:顏色,字體,空心,陰影,圖文混排)
六、在ios7之后,默認(rèn)會(huì)把UITabBar上面的按鈕圖片渲染成藍(lán)色,一般需要告訴圖片保持最原始的圖片,或者在image.xcassest里面設(shè)置render模式
七、類的加載和初始化
什么時(shí)候調(diào)用:程序一啟動(dòng)的時(shí)候就會(huì)把所有的類加載進(jìn)內(nèi)存
作用:加載類的時(shí)候調(diào)用
- (void)load
{
}
// 什么調(diào)用:當(dāng)?shù)谝淮问褂眠@個(gè)類或者子類的時(shí)候調(diào)用
// 作用:初始化類
- (void)initialize
{
}
八、appearance方法
appearance只要一個(gè)類遵守UIAppearance,就能獲取全局的外觀,UIView都可以獲取所有的外觀
獲取所有的tabBarItem外觀標(biāo)識(shí)
UITabBarItem *item = [UITabBarItem appearance];
self -> CZTabBarController
獲取當(dāng)前這個(gè)類下面的所有tabBarItem
UITabBarItem *item = [UITabBarItem appearanceWhenContainedIn:self, nil]
九、利用KVC可以把系統(tǒng)readonly的屬性修改
kvc可以快速的將字典數(shù)據(jù)轉(zhuǎn)化為模型數(shù)據(jù),鍵值需要對(duì)應(yīng)
十、UITabBar的items屬性
self.items UITabBarItem模型,有多少個(gè)子控制器就有多少個(gè)UITabBarItem模型
十一:sizeToFit:默認(rèn)會(huì)根據(jù)按鈕的背景圖片或者image和文字計(jì)算出按鈕的最合適的尺寸
十二:模型設(shè)計(jì)思想
id:能調(diào)用任何對(duì)象的get,set方法,不能幫我們檢查錯(cuò)誤
類方法:需要使用self創(chuàng)建對(duì)象
*/