zoukankan      html  css  js  c++  java
  • iOS中浅淡UIApplication单例-b

    在iOS的操作系统中 每一个程序都对应一个application单例,每一个application都对应一个Appdelegate代理,在代理中控制程序的各个状态。我们在程序中获取Application单例:[UIApplication sharedApplication].当进行有关该应用的相关操作设置时需要获取,进行响应的操作。比如:

    1、应用之间的调用和跳转  

    打开电话:[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:[NSStringstringWithFormat:@"tel://%@",_PersonPhoneStr]]];

    打开邮箱:[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"mailto://devprograms@apple.com"]];打开短信:[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"sms://466453"]];

    打开浏览器[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"http://itunesconnect.apple.com"]];  

    也可以打开自己指定的程序:首先必须要知道要打开的程序所制定的url协议,然后再本程序中调用以下方法:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"要打开的软件协议名称://"]];

    比如:创建A程序,我在A程序中的info.plist中制定对外程序打开A程序的url协议:

        然后再A程序的appdelegate中实现:

    -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{

        

        if([[url

             scheme] isEqualToString:@"myapp"]){

            return

            YES;

        }

        return 

        NO;

    }。在B程序中调用以下方法打开A程序:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"myapp://"]];

    如果想传参数直接在//后面加就可以。

    2、设置appIcon图标上的红色提示数字。

    在ios8以后加入了用户权限的判断,在程序启动时首先执行:

    float version = [[[UIDevice currentDevice] systemVersion] floatValue];

        if (version >= 8.0) {

            UIUserNotificationSettings *settings = [UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeBadge categories:nil];

            [[UIApplication sharedApplication] registerUserNotificationSettings:settings];

        }

    然后在程序任何地方可以通过以下代码设置角标:

    UIApplication *app=[UIApplication sharedApplication];

    app.applicationIconBadgeNumber=123;

    当使用推送时相应的应该会有一个全局变量表示当前角标的数量,当在后台收到推送时应该在+1,当程序打开时应该把此角标变量设置为0.
     
    3、在状态栏中显示网络加载。

     UIApplication *app=[UIApplication sharedApplication];

     app.networkActivityIndicatorVisible=YES;

    4、管理状态栏

    iOS中管理状态栏有两种方式:1、使用UIApplication进行全局设置:首先在info.plist的文件中加入: 然后在程序中调用以下代码:

      UIApplication *app=[UIApplication sharedApplication];

      [app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

    2、在每个界面中都可以对状态栏进行控制:在Viewcontroller中重写以下两个方法:

    #pragma mark-设置状态栏的样式

    -(UIStatusBarStyle)preferredStatusBarStyle

    {

        //设置为白色

        //return UIStatusBarStyleLightContent;

        //默认为黑色

        return UIStatusBarStyleDefault;

    }

    #pragma mark-设置状态栏是否隐藏(否)

    -(BOOL)prefersStatusBarHidden

    {

        return YES;

    }

  • 相关阅读:
    【特别推荐】12款最佳的网站速度和性能测试工具
    Skeljs – 用于构建响应式网站的前端开发框架
    EpicEditor – 可嵌入的 JavaScript Markdown 编辑器
    12个学习 CSS3 网站布局设计的优秀案例
    15套流行的扁平化设计的界面素材【免费下载】
    JavaScriptOO.com – 快速找到你需要的 JS 框架
    15款最好的 jQuery Modal(模态窗口)插件
    开眼了!20个极具创意的移动界面动画效果
    ShareDrop – 苹果 AirDrop 服务的 HTML5 实现
    Furatto – 轻量,友好的响应式前端开发框架
  • 原文地址:https://www.cnblogs.com/isItOk/p/5577846.html
Copyright © 2011-2022 走看看