UIApplication对象和AppDelegate代理方法

本文详细介绍了UIApplication对象的功能,包括设置应用图标提醒数字、控制联网状态、使用不同方式打开URL(如电话、网页、短信和邮件)、控制状态栏显示,并概述了AppDelegate代理方法的调用时机。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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代理方法的调用

  • 应用程序启动完毕的时候调用这个方法

- (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{
    //这个方法里面可以处理 网络(取消网络的加载),清除图片的缓存等
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值