国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOSUI進階01

2019-11-14 18:31:48
字體:
來源:轉載
供稿:網友

01-項目中常見文件

一.Xcode5和Xcode6區別

Xcode5

Frameworks文件夾:存放iOS中常見的框架

pch文件

Xcode6

沒有Frameworks,會自動導入常見的框架

沒有pch

LaunchScreen.xib: 設置項目啟動的界面

二.info.plist文件

1.Bundle name : app名稱,項目通常使用英文,app名稱顯示中文

2.Bundle identifier : app標識符 上傳AppStore和推送

3.Bundle versions string, short app版本號

三.pch文件

pch作用:

1.存放一些公用的宏

2.存放一些公用的頭文件

3.自定義Log

// ...表示宏里面的可變參數// __VA_ARGS__表示函數里面的可變參數#ifdef DEBUG // 表示當前調試階段#define XMGLog(...)   NSLog(__VA_ARGS__)#else // 發布階段#define XMGLog(...)#endif

pch原理:就是把pch文件中的所有內容拷貝到所有文件的頭部

注意點: pch文件一定要注意做些判斷,判斷下當前是否是OC文件,如果是就 導入OC的代碼

所有的OC文件都會定義__OBJC__這個宏,蘋果定義

02-UIapplication

一.常識 UIApplication對象是應用程序的象征

每一個應用都有自己的UIApplication對象,而且是單例的

通過[UIApplication sharedApplication]可以獲得這個單例對象

一個iOS程序啟動后創建的第一個對象就是UIApplication對象

利用UIApplication對象,能進行一些應用級別的操作

1.應用程序圖片的提醒數字

2.聯網狀態

3.設置狀態欄

4.打開資源,電話,網頁,發短信

二.單例

1.整個應用程序只有一份內存.

2.重寫alloc方法,只分配一次.

3.提供share方法,獲取單例對象.

4.使用靜態全局變量保存單例對象.

03-UIApplication代理

一.常識

1.在app受到干擾時,會產生一些系統事件,這時UIApplication會通知它的delegate對象,讓delegate代理來處理這些系統事件

2.delegate可處理的事件包括:

2.1應用程序的生命周期事件(如程序啟動和關閉)

2.2系統事件(如來電)

2.3內存警告

04-程序啟動原理

一.首先找到程序入口,執行main函數

main -> UIApplicationMain

二.UIApplicationMain底層做事情

1.創建UIApplication對象

2.創建UIApplication的代理對象,而且給UIApplication對象代理屬性賦值

3.開啟主運行循環,作用接收事件,讓程序一直運行

4.加載info.plist,判斷下有木有指定main.storyboard,如果指定就會去加載

三.函數介紹:

NSStringFromClass:根據一個類名生成一個類名字符串

NSClassFromString: 根據一個類名字符串生成一個類名

四.思想,為什么使用NSStringFromClass NSStringFromClass:輸入類名有提示,避免輸入錯誤

04-UIWindow

一.什么時候創建

1.加載info.plist,判斷有沒有指定main.storyboard,指定了main.storyboard,就會去加載main.storyboard,執行main.storyboard的時候創建.

二.main.storyboard步驟

2.1創建窗口

2.2加載控制器

2.3設置窗口的根控制器,顯示窗口

三.手動創建窗口

1.什么時候創建?

1.在加載info.plist文件之后,程序啟動才完成,啟動完成之后,就要顯示窗口,因此在程序啟動完成的時候創建窗口.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // 窗口顯示的注意點:    // 1.一定要強引用    // 2.控件要想顯示出來,必須要有尺寸    // 1.創建窗口    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];    // 2.創建根控制器,在設置窗口的根控制器    UIViewController *vc = [[UIViewController alloc] init];    // 設置窗口的根控制器,底層會自動把根控制器的view添加到窗口上,并且讓控制器的view有旋轉功能    self.window.rootViewController = vc;    // 3.顯示窗口    // makeKeyAndVisible:讓窗口成為應用程序的主窗口,并且顯示窗口    [self.window makeKeyAndVisible];    return YES;}

四.窗口補充

1.應用程序中那些控件屬于窗口,1.狀態欄 2.鍵盤

2.窗口層級關系 UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal

設置窗口的層級,層級誰大就顯示在最外面

3.UITextField顯示鍵盤

注意點:如果一個鍵盤想要彈出來,必須把textField添加到一個控件上.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绍兴县| 金平| 高邑县| 沁水县| 宝兴县| 肃南| 彰化市| 探索| 德保县| 凉城县| 清水县| 乐清市| 东兰县| 东乌| 瑞安市| 汾西县| 新蔡县| 九龙坡区| 定州市| 黑龙江省| 屯昌县| 晋宁县| 铜陵市| 耿马| 英山县| 清河县| 利川市| 革吉县| 嘉定区| 榆林市| 凤台县| 浮梁县| 松潘县| 威宁| 鹤岗市| 葫芦岛市| 元朗区| 宝丰县| 南和县| 新巴尔虎右旗| 岳池县|