UIApplication對象
-
是一個單例對象UIApplication
- 一個應用程式的象征操作
- 一個應用程式隻有一個
對象,擷取到UIApplication
對象就相當于擷取到應用程式UIApplication
1.應用程式圖示紅色提醒數字
UIApplication *app = [UIApplication sharedApplication];
// 設定appIcon提醒數字,必須注冊使用者通知
app.applicationIconBadgeNumber = 10;
2.聯網的狀态
// 設定聯網狀态
app.networkActivityIndicatorVisible = YES;
3.打開openURL,
- 打電話 方式 -1
//判斷是不是iOS10及以上的系統
if (@available(iOS 10.0,*)) {
NSURL *url = [NSURL URLWithString:@"tel://10086"];
[app openURL:url options:@{} completionHandler:nil];
}else{
[app openURL:[NSURL URLWithString:@"tel://10086"]];
}
- 打電話方式 -2
//建立webView
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
//擷取到視窗
UIWindow *windows = [UIApplication sharedApplication].keyWindow;
//添加視圖
[windows.rootViewController.view addSubview:webView];
//擷取到 電話字元串
NSString *urlStr = [NSString stringWithFormat:@"tel:%@",@"10086"];
//url
NSURL *url = [NSURL URLWithString:urlStr];
//請求對象
NSURLRequest *request = [NSURLRequest requestWithURL:url];
//
[webView loadRequest:request];
- 打開網頁
UIApplication *app = [UIApplication sharedApplication];
//判斷是不是iOS10及以上的系統
if (@available(iOS 10.0,*)) {
NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
[app openURL:url options:@{} completionHandler:nil];
}else{
[app openURL:[NSURL URLWithString:@"https://www.baidu.com"]];
}
- 發短信
UIApplication *app = [UIApplication sharedApplication];
//判斷是不是iOS10及以上的系統
if (@available(iOS 10.0,*)) {
NSURL *url = [NSURL URLWithString:@"sms://10086"];
[app openURL:url options:@{} completionHandler:nil];
}else{
[app openURL:[NSURL URLWithString:@"sms://10086"]];
}
- 發郵件
UIApplication *app = [UIApplication sharedApplication];
// 發送郵件 mailto為發送郵件協定
//判斷是不是iOS10及以上的系統
if (@available(iOS 10.0,*)) {
NSURL *url = [NSURL URLWithString:@"mailto://郵箱名"];
[app openURL:url options:@{} completionHandler:nil];
}else{
[app openURL:[NSURL URLWithString:@"mailto://郵箱名"]];
}
4.控制狀态欄
- ios7之後控制狀态欄,是有控制器控制的
//在控制器裡面執行的方法
// 隐藏狀态欄
- (BOOL)prefersStatusBarHidden
{
return YES;
}
//設定狀态欄的樣式
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
- 如果還想UIApplication控制需要做一個設定在infp.plist檔案裡面
設定為View controller-based status bar appearance
NO
- 設定狀态欄
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
[UIApplication sharedApplication].statusBarHidden = YES;
AppDelegate代理方法
的調用
AppDelegate代理方法
- 應用程式啟動完畢的時候調用這個方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
- 應用程式将要失去焦點的時候調用
- (void)applicationWillResignActive:(UIApplication *)application {
}
- 應用程式進入背景的時候調用
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
- 應用程式進入到前台的時候調用
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
- 應用程式擷取焦點時調用
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
- 應用程式退出的時候調用
- (void)applicationWillTerminate:(UIApplication *)application {
}
- 應用程式收到記憶體警告時調用
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{
//這個方法裡面可以處理 網絡(取消網絡的加載),清除圖檔的緩存等
}