【UIKit】AppDelegate詳解以及部分UIApplication 的調用

來源:互聯網
上載者:User

標籤:blog   http   color   os   io   資料   for   ar   

【UIKit】AppDelegate

在應用程式啟動完畢後調用(只會調用一次,第一次開啟程式的時候才會調用)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    // 建立一個UIWindow    CGRect rect = [[UIScreen mainScreen] bounds];    self.window = [[UIWindow alloc] initWithFrame:rect];    // 設定背景顏色    self.window.backgroundColor = [UIColorredColor];    // 初始化第一個控制器    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];    // 設定視窗的根控制器     self.window.rootViewController = self.viewController;    // 等視窗UIWindow顯示的時候,就會把rootViewControoler的view添加到UIWindow上面去// 讓視窗成為主視窗並且可見     [self.windowmakeKeyAndVisible];     returnYES;}

 


當app失去焦點的時候調用(未啟用):當應用程式將要入非使用中執行,在此期間,應用程式不接收訊息或事件,比如來電話了
- (void)applicationWillResignActive:(UIApplication *)application

在app進入背景時候調用:當程式被推送到背景時候調用。所以要設定後台繼續運行,則在這個函數裡面設定即可
- (void)applicationDidEnterBackground:(UIApplication *)application

在app進入前台的時候調用:當程式從後台將要重新回到前台時候調用,這個剛好跟上面的那個方法相反。
- (void)applicationWillEnterForeground:(UIApplication *)application

當app獲得焦點的時候調用(已啟用):當應用程式入活動狀態執行
- (void)applicationDidBecomeActive:(UIApplication *)application

當程式將要退出是被調用,通常是用來儲存資料和一些退出前的清理工作。這個需要要設定UIApplicationExitsOnSuspend的索引值。
-  (void)applicationWillTerminate:(UIApplication *)application

說明:iPhone裝置只有有限的記憶體,如果為應用程式分配了太多記憶體作業系統會終止應用程式的運行,在終止前會執行這個方法,通常可以在這裡進行記憶體清理工作防止程式被終止
-  (void)applicationDidReceiveMemoryWarning:(UIApplication *)application

說明:當系統時間發生改變時執行
- (void)applicationSignificantTimeChange:(UIApplication*)application

說明:當程式載入後執行
- (void)applicationDidFinishLaunching:(UIApplication*)application

說明:當StatusBar框將要變化時執行
- (void)application:(UIApplication)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame

說明:當StatusBar框方向將要變化時執行
- (void)application:(UIApplication*)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientationduration:(NSTimeInterval)duration

說明:當通過url執行
- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url

說明:當StatusBar框方向變化完成後執行
- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation

說明:當StatusBar框變化完成後執行
- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame




轉:
1、判斷裝置的類型iPad或者iPhone,可在main中定義一個宏來記錄
#define IS_IPAD  ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] &&[[UIDevice currentDevice] userInterfaceIdion] == UIUserInterfaceIdiomPad)
2. 調用內建應用    
調用Email
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://email郵箱地址"]]; 
   
調用系統電話phone
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://88888888"]];

調用SMS
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://888588"]];  

調用內建瀏覽器Safari
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://網址"]];      還有:itms:// 可以開啟MobileStore.app            audio-player-event:// 可以開啟iPod            audio-player-event://?uicmd=show-purchased-playlist 可以開啟iPod播放清單            video-player-event:// 可以開啟iPod中的視頻

3. 禁止鎖屏
    UIApplication *app = [UIApplication sharedApplication];    app.idleTimerDisabled = YES;

4. 設定icon上的數字
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.