iPhone入門

一、main.m

1、main函數(shù),程序唯一的入口

2、UIApplicationMain函數(shù)函數(shù)作用

1)創(chuàng)建一個(gè)應(yīng)用程序UIApplication對(duì)象,他是應(yīng)用程序的象征,一個(gè)UIApplication對(duì)象就代表一個(gè)應(yīng)用程序

2)指定誰管理應(yīng)用程序的生命周期

2)建立一個(gè)事件循環(huán)來捕捉處理用戶的行為

3、永遠(yuǎn)不用嘗試改變main.m中的內(nèi)容

二、程序的生命周期

1、UIApplication對(duì)象實(shí)例化后,程序啟動(dòng)時(shí)首先會(huì)調(diào)用該方法

- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions

2、當(dāng)應(yīng)用程序?qū)⒁M(jìn)入非活動(dòng)狀態(tài)執(zhí)行,比如來電話了、鎖屏等。

- (void)applicationWillResignActive:(UIApplication *)application

3、當(dāng)應(yīng)用程序進(jìn)入活動(dòng)狀態(tài)執(zhí)行,這個(gè)剛好跟上面那個(gè)方法相反

- (void)applicationDidBecomeActive:(UIApplication *)application

4、一般程序進(jìn)入后臺(tái),就會(huì)進(jìn)入非活躍狀態(tài),但如果你的程序支持后臺(tái),程序在后臺(tái)也保持活躍狀態(tài)

- (void)applicationDidEnterBackground:(UIApplication *)application

5、程序進(jìn)入前臺(tái)

- (void)applicationWillEnterForeground:(UIApplication *)application

6、當(dāng)程序?qū)⒁顺鍪潜徽{(diào)用,通常是用來保存數(shù)據(jù)和一些退出前的清理工作

- (void)applicationWillTerminate:(UIApplication *)application

7、找到info.plist文件,添加Application does not run in background,并設(shè)置YES,使應(yīng)用不支持后臺(tái)操作,一旦退到后臺(tái)程序就退出

8、練習(xí)

驗(yàn)證應(yīng)用程序的聲明周期

三、UIWindow

1、在iOS中,使用窗口與試圖在屏幕上顯示應(yīng)用程序的內(nèi)容,窗口本身不具有任何可見的內(nèi)容,但他對(duì)于應(yīng)用程序的試圖提供一個(gè)基本的容器,試圖定義你想要的一些內(nèi)容,例如:圖像、文本、表格等等

2、程序中每個(gè)時(shí)刻只能有一個(gè)UIWindow是keyWindow,通常應(yīng)用程序只有一個(gè)window

3、iOS程序啟動(dòng)完畢后,會(huì)首先創(chuàng)建一個(gè)UIWindow

4、一個(gè)iOS程序之所以能顯示到屏幕上,完全是因?yàn)樗蠻IWindow,也就是說沒有UIWindow,就看不見任何UI界面

5、常用方法

1)讓當(dāng)前UIWindow變成keyWindow(主窗口)

- (void)makeKeyWindow;

2)讓主窗口顯示出來

- (void)makeKeyAndVisible;

6、練習(xí)

自己創(chuàng)建一個(gè)window作為主窗口

四、程序的完整啟動(dòng)過程

1、main函數(shù)

2、UIApplicationMain

1)創(chuàng)建UIApplication對(duì)象

2)創(chuàng)建UIApplication的delegate對(duì)象

3、delegate對(duì)象開始處理(監(jiān)聽)系統(tǒng)事件

1)程序啟動(dòng)完畢的時(shí)候, 就會(huì)調(diào)用代理的application:didFinishLaunchingWithOptions:方法

2)在application:didFinishLaunchingWithOptions:中創(chuàng)建UIWindow

3)創(chuàng)建和設(shè)置UIWindow的rootViewController

4)顯示窗口

五、手機(jī)屏幕的幾個(gè)概念

1、UIScreen

可以充當(dāng)iOS物理屏幕的替代者,

[UIScreen mainScreen] bounds] 能夠獲取屏幕大小

2、屏幕尺寸

指具體的屏幕物理長(zhǎng)度,以屏幕的對(duì)角線的長(zhǎng)度作為試試

3、像素

圖像由一個(gè)個(gè)點(diǎn)組成,這個(gè)點(diǎn)叫做像素

4、屏幕分辨率

指屏幕屏幕上總共的物理像素點(diǎn)

5、屏幕尺寸

設(shè)備? ? ? 屏幕尺寸? 分辨率(pt) reader 分辨率(px)

3GS? ? ? 3.5? ? ? 320*480? @1x? ? 320*480

4/4S? ? ? 3.5? ? ? 320*480? @2x? ? 640*960

5/5S/5C? 4.0? ? ? 320*568? @2x? ? 750*1334

6? ? ? ? 4.7? ? ? 375*667? @2x? ? 750*1334

6P? ? ? ? 5.5? ? ? 414*736? @3x? ? 1242*2208

pt: 用于計(jì)算屏幕上的坐標(biāo)

六、iOS坐標(biāo)系統(tǒng)

1、iPhone的試圖坐標(biāo)系是以左上角為原點(diǎn)

2、每一個(gè)view的frame所使用的坐標(biāo)系以它的父試圖的左上角為原點(diǎn)

3、試圖結(jié)構(gòu)和相關(guān)函數(shù)

//試圖顯示的位置

CGPoint point = CGPointMake(x,y)

//試圖顯示的大小

CGSize size = CGSizeMake(width,height)

//試圖顯示的位置和大小

CGRect rect = CGRectMake(x,y,width,height);

4、frame/Bounds/center

frame: 包含試圖的位置和大小

Bounds:包含試圖的大小,位置默認(rèn)是(0,0)

center:包含試圖中心點(diǎn)所在的位置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 廢話不多說,直接上干貨 ---------------------------------------------...
    小小趙紙農(nóng)閱讀 3,650評(píng)論 0 15
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評(píng)論 19 139
  • 視圖控制器的生命周期 控制器自帶的view將要顯示時(shí)調(diào)用 - (void)viewWillAppear:(BOOL...
    Luyize閱讀 273評(píng)論 0 1
  • 每年過年的時(shí)候,我們家都要祭祖。 祭祖,是一套有規(guī)有矩,不可或缺的儀式。首先在桌子上擺好酒菜,背面放一香爐,內(nèi)有三...
    AriseLu閱讀 539評(píng)論 0 0
  • 2017年8月初,我在青島參加了一個(gè)培訓(xùn)班,一個(gè)偶然碰到了一位年輕媽媽,他正在用腦圖繪制培訓(xùn)內(nèi)容的筆記,當(dāng)時(shí)第一感...
    舒4貓咪閱讀 228評(píng)論 0 0

友情鏈接更多精彩內(nèi)容