【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];