欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

UIKit框架(7)應(yīng)用程序?qū)ο骍IApplication

本篇本章介紹:

成都創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計,有關(guān)成都定制網(wǎng)站方案、改版、費(fèi)用等問題,行業(yè)涉及混凝土攪拌站等多個領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

    UIApplication對象、UIAppDelegate中的方法、App啟動過程

    以及狀態(tài)欄的管理、應(yīng)用程序間跳轉(zhuǎn)等實用功能

  • UIApplication對象介紹

UIApplication對象是應(yīng)用程序的象征,一個UIApplication對象就代表一個應(yīng)用程序。

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

+ (UIApplication *)sharedApplication

     一個iOS程序啟動后創(chuàng)建的第一個對象就是UIApplication對象

     利用UIApplication對象,能進(jìn)行一些應(yīng)用級別的操作

keyWindow屬性:

@property(nonatomic, readonly) UIWindow *keyWindow   //應(yīng)用程序的主窗口

    Mac環(huán)境下的一個應(yīng)用是可以具有多個窗口的,正在獲得用戶操作的創(chuàng)建即為keyWindow

    而iOS下的應(yīng)用只有一個窗口,就是這個keyWindow

    UIView及其子類,也可以通過其屬性window獲得這個window

狀態(tài)欄上的網(wǎng)絡(luò)活動指示器控制

@property(nonatomic, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible //狀態(tài)欄的網(wǎng)絡(luò)活動指示器

    通過改變這個屬性,可以方便地控制網(wǎng)絡(luò)活動指示器的顯示(轉(zhuǎn)動的菊花)

手機(jī)桌面App圖標(biāo)上的紅色數(shù)字

@property(nonatomic) NSInteger applicationIconBadgeNumber //圖標(biāo)上的紅色數(shù)字

    通過修改這個屬性,可以在App圖標(biāo)上顯示提示數(shù)字信息,一般在消息推送的回調(diào)方法中使用

...

     

  • 狀態(tài)欄的管理

自iOS7開始,提供了兩種管理狀態(tài)的方式: 控制器管理、UIApplication對象管理

控制器管理(默認(rèn))

     實現(xiàn)下面的兩個方法即可輕松管理狀態(tài)欄

- (UIStatusBarStyle)preferredStatusBarStyle  //狀態(tài)欄的樣式
- (BOOL)prefersStatusBarHidden //狀態(tài)欄是否隱藏

使用UIApplication管理狀態(tài)欄

1)首先修改info.plist

     UIKit框架(7)應(yīng)用程序?qū)ο骍IApplication

2)使用UIApplication單例對象的以下方法

@property(nonatomic, getter=isStatusBarHidden) BOOL statusBarHidden  //狀態(tài)欄是否隱藏
- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation
@property(nonatomic) UIStatusBarStyle statusBarStyle //狀態(tài)欄樣式
- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated
@property(nonatomic, readonly) CGRect statusBarFrame //狀態(tài)欄的frame

     

  • App間跳轉(zhuǎn)

UIApplication有個功能十分強(qiáng)大的openURL:方法

- (BOOL)openURL:(NSURL *)url

iPhone中一些自帶應(yīng)用的跳轉(zhuǎn)格式:

    用來打電話:

     [[UIApplication sharedApplication] openURL: [NSURL URLWithString:@”tel://10086”];

    用來發(fā)短信:

     [[UIApplication sharedApplication] openURL: [NSURL URLWithString:@”sms://10086”]];

    用來發(fā)郵件 :

     [[UIApplication sharedApplication] openURL: [NSURL URLWithString:@”mailto://123456@qq.com”]];

    請求打開網(wǎng)頁:(轉(zhuǎn)到瀏覽器)

     [[UIApplication sharedAplication] openURL: [NSURL URLWithString:@”http://www.baidu.com”]];

如跳轉(zhuǎn)到AppStore:

https://itunes.apple.com/us/app/zou-yi-zou-ba/idxxx?mt=8&uo=4

    其中xxx是對應(yīng)App的id(在iTunnes-Connect中查詢)

  • UIApplication的代理

移動操作都具有致命的的缺點:

     app很容被打擾,比如一個來電或鎖屏都會導(dǎo)致app進(jìn)入后臺甚至被終止。

     在很多其他情況會導(dǎo)致app受到干擾,在app受到干擾時,會產(chǎn)生一些系統(tǒng)事件

     此時UIApplication會通知它的delegate對象,讓delegate代理來處理這些系事件。

Delegate可處理的事件包括:

     應(yīng)用程序的生命周期事件(如程序啟動和關(guān)閉)、系統(tǒng)事件(如來電)、內(nèi)存警告…

每次新建完項目,都帶個帶有”AppDelegate”類,它就是UIApplication的代理。

     該類默認(rèn)已經(jīng)遵守了UIApplicationDelegate協(xié)議,已經(jīng)是UIApplication的代理。

     UIKit框架(7)應(yīng)用程序?qū)ο骍IApplication

  • App啟動過程

1)main函數(shù)中執(zhí)行了一個UIApplicationMain這個函數(shù)

int UIApplicationMain ( int argc, char *argv[], NSString *principalClassName,NSString *delegateClassName );

     該函數(shù)接收了: 命令行參數(shù) 、UIApplication子類名 、UIApplication代理類名

2)UIApplicationMain函數(shù)會根據(jù)principalClassName創(chuàng)建 UIApplication對象,根據(jù)delegateClassName創(chuàng)建一個delegate對象,并將該delegate對象賦值給 UIApplication對象中的delegate屬性

3)接著會建立應(yīng)用程序的Main Runloop(事件循環(huán)),進(jìn)行事件的處理(首先會在程序完畢后調(diào)用delegate對象的application:didFinishLaunchingWithOptions:方法)

4)程序正常退出時UIApplicationMain函數(shù)才返回

本文題目:UIKit框架(7)應(yīng)用程序?qū)ο骍IApplication
文章源于:http://chinadenli.net/article36/jiossg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管網(wǎng)站設(shè)計、ChatGPT網(wǎng)站排名、電子商務(wù)做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)