UI进阶第一发:UIApplication

UIApplication

1.概念:UIApplication 对象时应用程序的象征

       1>每一个应用都有自己的UIApplication对象,它是单例模式的,通过[UIApplicationsharedApplication]创建

       2>iOS程序启动后创建的第一个对象就是UIApplication,利用它能进行一些应用级别的操作

2.常用方法

1>获得系统版本:通常定义成宏使用 #define IOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >=8.0)

2>系统消息提醒IOS8以后

  UIApplication *app = [UIApplicationsharedApplication];

    if (IOS8)

    {

        UIUserNotificationSettings *set = [UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeBadgecategories:nil];

        [app registerUserNotificationSettings:set];

    }

    app.applicationIconBadgeNumber =10;

3>状态栏隐藏,样式(样式可以设置动画)

 IOS7以后默认交给ViewController管理,需要在info.plist里设置View controller-based status bar appearance NO

 然后UIApplication才能控制

     4> 设置联网可见性

      app.networkActivityIndicatorVisible =YES;

     5>openURL:方法

       Ø打电话

   UIApplication *app = [UIApplicationsharedApplication];

   [app openURL:[NSURL URLWithString:@"tel://10086"]];


       Ø发短信

   [app openURL:[NSURL URLWithString:@"sms://10086"]];


       Ø发邮件

   [app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];

       Ø打开一个网页资源

   [app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];


       Ø打开其他app程序




一:ios程序启动原理

1.执行main函数

2.创建UIApplicationMain 

  1>创建UIApplication

  2>创建AppDelegate

  3>设置UIApplication的对象代理为AppDelegate

  4>delegate对象开始处理(监听)系统事件,开启主运行循环,保证程序一直处于运行状态不会关闭

  5>加载info.plist文件判断是否去加载Main.storyboard


主函数:

int main(int argc,char * argv[]) 

{

    @autoreleasepool

    {

        returnUIApplicationMain(argc, argv,nil, NSStringFromClass([AppDelegateclass]));

    }

}


图。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值