麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

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添加到一個控件上.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色免费大片 | 日韩精品中文字幕一区二区三区 | 99久久婷婷国产综合精品青牛牛 | 国产一级爱c视频 | 免费一级毛片电影 | 欧美亚洲一区二区三区四区 | 一级做a爱片毛片免费 | 精品91av| 日韩午夜片 | 伊人99在线 | 一区二区免费看 | 鲁丝一区二区二区四区 | 国产精品剧情一区二区三区 | 国产一区二区在线免费播放 | 毛片免费观看视频 | 久夜tv| 欧美成人一区二区三区 | 91精品国产乱码久 | 欧美日韩在线播放一区 | 国产免费一区二区三区视频 | free japan xxxxhdsex69 | 亚洲综人网 | 91精品国产综合久久久欧美 | 欧美a级在线免费观看 | 精品成人免费视频 | 色视频在线观看 | 九九热视频在线免费观看 | 久久国产亚洲精品 | 成人福利视频在线观看 | 毛片视频网站 | 一级裸体视频 | 国产国语毛片 | 91久久久久久亚洲精品禁果 | 欧美ab| 三级国产三级在线 | 国产真实孩交 | 成人福利免费在线观看 | 天天色宗合 | 欧美特黄一级高清免费的香蕉 | chinese-xvideos| 香蕉久草视频 |