一.新增知識點:
1.關于開發中的顏色常識:
開發過程中,美工所強說的顏色為24位(即所謂的R.G.B各8位),而對于iOS開發而言,顏色信息為32位(多出一位即為透明度)
美工中的顏色取值為0255,而iOS開發中的顏色取值為01(使用color的RGB方法時一定注意!!)
美工中的#代表十六進制數,與之形成對比:iOS開發中將OX代表十六進制
實際開發中若需要計算美工給予的十六進制數轉換為開發中的什么顏色時,可以使用"UIColor+Hex"這個分類
二.知識點回顧:
1.部分配置的用途:
1)Bundle Identifier: APP中的唯一標識(作何使用?1.上傳到appstore 2.推送)
2)Deployment Target:部署版本(當前app支持系統的版本),即支持多少版本以上
3)Status Bar Style:這個字段只用于程序啟動時(圖2)
圖1:
Snip20160614_1.png
圖2:
Snip20160614_2.png
4)LaunchScreen和LaunchImage的區別:
LaunchScreen:自動識別當前模擬器或者真機的尺寸(本質是截屏)
LaunchImage:模擬器或者真機屏幕可視范圍尺寸的啟動圖片決定
當設置了launch Screen File文件后,系統會默認執行這里的設置,當設置為空時,默認執行Launch Image Source內的啟動項設置
P.S若存在刪除LaunchScreen,但還是去加載LaunchScreen的情況,可以先清除緩存,或直接將模擬器或真機中的軟件刪除后再試
5)動態庫:需要用到時在加載 <========> 靜態庫:程序一運行就加載
6)info.plist文件中修改bundle name可以修改程序的名稱
2.UIWindow知識點回顧:
[self.window makeKeyAndVisible] 窗口要顯示的時候,就會把窗口的根控制器的view添加到窗口上
makeKey:把當前窗口成為程序的主窗口(需要注意的是,若在還未執行這句話前,application.keyWindow是沒有值得)
Visible:讓窗口可見(令visible.hidden = NO)
UIWindow的根控制器是蘋果內部強制要求,必須是要有的
3.UINavigationController
結構:1.包括自身的一個view(任何控制器都具有),2.專門存放?子控制器的View,3.導航條
1.導航控制器的導航欄狀態是由棧頂控制器決定的,導航控制器若沒有根控制器,初始化時就沒法設置導航欄狀態,但后來若有添加控制器,則依然可以更改(導航條的內容由其當前所在的棧頂控制器的navigationItem來決定)
2.顯示在最外層的view是導航控制器棧頂控制器的view
3.導航欄的Y值為20,高度為44,之所以顯示時,上半部是一片灰蒙效果,是因為其導航欄的子控制器超出了其父控制器,(子控件超過父控件依然可以顯示)
4.initWithRootViewController方法底層會調?用push方法,把傳?的子控制器,添加為導航控制器的子控制器.
5.如果設置了導航控制器的標題,則push后子控制器的返回按鈕上就是該導航控制器的標題
6.通過修改leftBarButtonItem和rightBarButtonItem可以更改導航條上左右兩部分顯示的東西(導航欄的左右側類型是UIBarButtonItem,而titleView類型是UIView)
4.UITabBarController
1.UITabBarController切換的原理:點擊下面的按鈕,會先把當前控制器的View從TabBarController存放?子控件View的View當中移除(只是移除view,子控制器還在數組當中,沒有被移除),并把對應的子控制器的view添加上去
2.UITabBar的高度為49
5.UIApplicationMain底層實現
1.創建UIApplication對象(1.打開網頁 2.設置聯網狀態 3.設置狀態欄 4.設置提醒數字)
2.創建UIApplication代理對象(1.監聽應用程序聲明周期 2.內存警告)
3.開啟主運行循環,保證程序一直執行
4.判斷info.plist有沒有指定main,有就會去加載main.storyboard
加載main.storyboard
1.創建窗口
2.設置窗口根控制器
3.顯示窗口