【UIKit Basics】AppDelegate詳解

【UIKit】AppDelegate:瀏覽器

在應用程序啓動完畢後調用(只會調用一次,第一次打開程序的時候纔會調用)
// 視圖加載完成,應用程序加載到內存後調用的方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 建立一個UIWindow
    CGRect rect = [[UIScreen mainScreen] bounds];
    self.window = [[UIWindow alloc] initWithFrame:rect];

    // 設置背景顏色
    self.window.backgroundColor = [UIColor redColor];

    // 初始化第一個控制器
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

    // 設置窗口的根控制器 
    self.window.rootViewController = self.viewController;

    // 等窗口UIWindow顯示的時候,就會把rootViewControoler的view添加到UIWindow上面去
    // 讓窗口成爲主窗口而且可見
    [self.window makeKeyAndVisible];
    return YES;
}

 

當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)newStatusBarOrientation
duration:(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
 


轉:
一、判斷設備的類型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]; 
相關文章
相關標籤/搜索