• 【应用程序代理对象ApplicationDelegate-应用程序启动过程介绍 Objective-C语言】


    一、那我们接着昨天的内容,继续往下讲

    通知

    通知

    1.有人对昨天最后这块儿内容有点儿晕,再捋一下吧,

    1)我们刚开始的时候,是不是在Main.storyboard里面,放了一个按钮

    通知

    2)我呢,想在点击按钮的时候,执行一些操作,对吧,

    所以呢,我给它拖了一个事件,

    通知

    拖到类实现里面,

    3)那,首先,第一步:我们演示的是获取这个应用程序对象:

    通知

    然后呢,获取应用程序对象,比如说,它是一个单例,怎么去验证它是一个单例呢,

    是不是获取两次,打印一下它们的地址,是不是一模一样的,对吧,

    通知

    这就是我们应用程序,是一个单例,

    现在你不要纠结什么是单例,在网络和多线程的时候,我会解释怎么去写出这个单例,

    3)在应用头像上设置数字,

    通知

    默认情况下是0,没有数字,对吧,

    那如果你想显示数字呢,就给它直接设置,

    app.applicationIconBadgeNumber = 10 ;

    通知

    但是,有一个注意点,

    就是在iOS8.0以后,你是不是需要注册,

    然后呢,app,就是你当前这个应用,

    通知

    需要注册用户的通知设置:

    通知

    然后呢,需要用户允许,对吧,

    如果用户不允许你推送,你能推送吗,是不是不能啊,

    你这个应用头像Number,你也不能设置了,

    而且,这一部分代码:

    通知

    是只执行一次的,

    不知道大家在写代码的时候,有没有发现,

    你下次再运行的时候,它还会不会提示你,

    不会吧,

    对,这个的话,是只提醒一次,

    这个也是系统帮我们去管理的,

    你不需要去担心,

    而且就是,你第一次执行了这个代码以后:

    通知

    才去提醒,

    有时候我们下载的应用,比如说,微信,或者支付宝,

    你是不是在用到摄像头的时候,才会提醒你,要允许这个应用打开摄像头,

    然后呢,你点一下“允许”,它才可以打开摄像头,

    那这个呢,就是,它只提醒一次,你用到的时候,再提醒,

    而且以后再来的话,就不会再执行这个提醒操作了啊,

    那,如果,用户没有允许你去设置,怎么办呢,

    那,他下次再想用到这个功能,你是不是就得要提示他,去设置里面把这个功能打开,

    对,提示一下就行了,

    这就是设置头像上的数字,

    4)还有就是,联网指示器,

    通知

    联网状态指示器,

    知道在哪儿吧,

    通知

    左上角的菊花,对吧,

    5)然后呢,还有openURL:这个了解一下就行了啊,

    6)最后这个,状态栏管理:

    通知

    状态栏管理,怎么去操作的呢,

    默认情况下,这个状态栏,是不是交给控制器去管理的,

    那有同学可能会问,为什么要把这个状态栏,交给应用程序,对吧,

    那给大家解释一下啊,为什么要把这个状态栏,交给应用程序,

    那,在我们应用里面,我们说,一个完整的应用,

    它不可能只有一个界面吧,

    也不可能只有一个控制器,对不对,

    否则的话,那就没有我今天要讲的内容了,

    所以呢,有很多个控制器,难道你就要在每一个里面,都执行一个操作吗:

    通知

    假如说,我这个应用,是一个比较深的背景,

    我现在呢,要把状态栏,改成一个浅色的,

    那你是不是要在每个控制器里面,都写一次,

    如果你不把它交给应用程序,那么就要在每一个里面,写一次,

    然后呢,你要把它交给应用程序,是不是一次设置就够了,

    我们现在,只是演示了一个Hidden,

    通知

    其实呢,它也可以设置它的Style:

    通知

    看到没有:

    通知

    你是不是可以设置它为浅色的效果,

    按command 键,进去:

    通知

    UIStatusBarStyle:

    通知

    点一下,进去:

    通知

    LightContent:

    通知

    command + C、

    回来,

    通知

    command + V:

    通知

    我们前面是不是在控制器里面,prefersStatusBarStyle,

    通知

    没有问题吧,

    然后,这就可以通过应用程序,一次性把这些所有的,都搞定:

    通知

    不需要你再去手动的去,一个一个控制器去写了,

    这个我就不再演示了,我把这个注释掉:

    通知

    但是呢,比如说,在xcode7.0里面,你要把这个状态栏的管理,交给应用程序,你是怎么做的呢,

    我们是不是在info.plist文件里面,增加了一个Key,

    通知

    View Controller-based status bar:NO

    这个Key,在什么位置呢,

    通知

    点击加号,是不是在最下面啊,

    不需要记的啊,直接往最下面滚,就行了,

    就在最下面,

    然后呢,给它关了,设置为NO,

    是不是就可以了,

    通知

    这个状态栏的管理,就交给应用程序了,

    通知

    这个一定要知道,

    好,那这些呢,

  • 相关阅读:
    算法探索-切面条(CSDN算法技能树第一题)
    Mojo 摸脚语言,似乎已经可以安装
    Tomcat长轮询原理与源码解析
    微服务部署的正确策略
    【Linux】进程信号
    数据结构第四课 -----线性表之栈
    QT4.8显示目录,和windows浏览一致的方法
    竞赛抢答器4路抢答器verilog,仿真视频、代码、AX301开发板
    VScode 设置终端窗口 terminal 的字体大小
    Linux虚拟机局域网IP配置
  • 原文地址:https://blog.csdn.net/madoca/article/details/133784741