UIApplication讲解

UIApplication使用 application开发使用 立即下载
1.简单介绍

(1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。

(2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示。

(3)通过[UIApplicationsharedApplication]可以获得这个单例对象

(4) 一个iOS程序启动后创建的第一个对象就是UIApplication对象,且只有一个(通过代码获取两个UIApplication对象,打印地址可以看出地址是相同的)。

(5)利用UIApplication对象,能进行一些应用级别的操作

2.应用级别的操作示例:

1)设置应用程序图标右上角的红色提醒数字(如QQ消息的时候,图标上面会显示1,2,3条新信息等。)

@property(nonatomic) NSInteger applicationIconBadgeNumber;

代码实现和效果: 

复制代码
复制代码
- (void)viewDidLoad
{
    [super viewDidLoad];
    //创建并添加一个按钮
    UIButton *btn=[[UIButton alloc]initWithFrame:CGRectMake(100, 100, 60, 30)];
    [btn setTitle:@"按钮" forState:UIControlStateNormal];
    [btn setBackgroundColor:[UIColor brownColor]];
    [btn addTarget:self action:@selector(onClick) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
}
-(void)onClick
{
    NSLog(@"按钮点击事件");
    //错误,只能有一个唯一的UIApplication对象,不能再进行创建
//    UIApplication *app=[[UIApplication alloc]init];
    
    //通过sharedApplication获取该程序的UIApplication对象
    UIApplication *app=[UIApplication sharedApplication];
    app.applicationIconBadgeNumber=123;
}
复制代码
复制代码

2)设置联网指示器的可见性

@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;

代码和效果: 

  //设置指示器的联网动画
    app.networkActivityIndicatorVisible=YES;

3)管理状态栏

从iOS7开始,系统提供了2种管理状态栏的方式

a.通过UIViewController管理(每一个UIViewController都可以拥有自己不同的状态栏).

在iOS7中,默认情况下,状态栏都是由UIViewController管理的,UIViewController实现下列方法就可以轻松管理状态栏的可见性和样式

状态栏的样式     - (UIStatusBarStyle)preferredStatusBarStyle; 

状态栏的可见性  -(BOOL)prefersStatusBarHidden;

复制代码
复制代码
#pragma mark-设置状态栏的样式
-(UIStatusBarStyle)preferredStatusBarStyle
{
    //设置为白色
    //return UIStatusBarStyleLightContent;
    //默认为黑色
     return UIStatusBarStyleDefault;
}
#pragma mark-设置状态栏是否隐藏(否)
-(BOOL)prefersStatusBarHidden
{
    return NO;
}
复制代码
复制代码

b.通过UIApplication管理(一个应用程序的状态栏都由它统一管理)

如果想利用UIApplication来管理状态栏,首先得修改Info.plist的设置

 

代码:

复制代码
复制代码
  //通过sharedApplication获取该程序的UIApplication对象
    UIApplication *app=[UIApplication sharedApplication];
    app.applicationIconBadgeNumber=123;
    
    //设置指示器的联网动画
    app.networkActivityIndicatorVisible=YES;
    //设置状态栏的样式
    //app.statusBarStyle=UIStatusBarStyleDefault;//默认(黑色)
    //设置为白色+动画效果
      [app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
    //设置状态栏是否隐藏
    app.statusBarHidden=YES;
      //设置状态栏是否隐藏+动画效果
    [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
复制代码
复制代码
既然两种都可以对状态栏进行管理,那么什么时候该用什么呢?
如果状态栏的样式只设置一次,那就用UIApplication来进行管理;
如果状态栏是否隐藏,样式不一样那就用控制器进行管理。
UIApplication来进行管理有额外的好处,可以提供动画效果。

4)openURL:方法

UIApplication有个功能十分强大的openURL:方法

- (BOOL)openURL:(NSURL*)url;

openURL:方法的部分功能有

打电话  UIApplication *app = [UIApplicationsharedApplication]; [app openURL:[NSURLURLWithString:@"tel://10086"]];

发短信  [app openURL:[NSURLURLWithString:@"sms://10086"]];

发邮件  [app openURL:[NSURLURLWithString:@"mailto://12345@qq.com"]];

打开一个网页资源 [app openURL:[NSURLURLWithString:@"http://ios.itcast.cn"]];

打开其他app程序   openURL方法,可以打开其他APP。

 URL补充:
URL:统一资源定位符,用来唯一的表示一个资源。
URL格式:协议头://主机地址/资源路径
网络资源:http/ ftp等   表示百度上一张图片的地址   http://www.baidu.com/images/20140603/abc.png
本地资源:file:///users/apple/desktop/abc.png(主机地址省略)


UIApplication介绍 这是我在学习ios的过程中写的一个demo。介绍ios的UIApplication。 立即下载

相关推荐

IOS 中UIApplication详解及实例

IOS 中UIApplication详解及实例 以前刚学iPhone开发时,觉得UIApplication这个东西特NB,特神秘,比如它居然能打开一个URL,而且还是用一个很神秘的方法得到实例: [UIApplication sharedApplication] 它对我的神秘感一直保持到今天下午。今天下午负责UI设计的同事在设计,我没有素材,比较清闲,于是发个狠,专门看了一下UIApplication这个类。果然是难者不会,会者不难,看完之后,这个类的神秘感一下子没了。下面让我来揭开它的神秘面纱。 UIApplication,顾名思义,代表的是整个应用做的事,因此每个程序只能有一个,系统

UIApplication详解(转载)

UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。 iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示:  int UIApplicationMain (  int argc,  char *argv[],  NSString *principalClassName,  NSString

u012972105的专栏 418

告别“盲开”:手把手教你用MCU内置比较器搞定BLDC无感方波启动(附代码片段)

本文详细介绍了如何利用MCU内置比较器实现BLDC无感方波启动,解决传统无传感器控制中的'盲开'问题。通过虚拟中性点电路设计和三段式启动流程,结合反电动势检测和过零检测技术,提供了一套经济高效的解决方案,并附有可直接移植的代码片段,助力工程师快速实现可靠的无感控制。

weixin_33694172的博客 502

UIApplication概念

UIApplication的使用

我不曾错过、我一直错过 333

海天注塑机弘讯控制器Modbus数据采集实战指南

工业设备数据采集是MES系统、设备监控和工艺追溯的基础,其中注塑机联网是车间数字化的关键环节。Modbus协议作为工业通信的事实标准,以简单、开放、低成本的优势,成为海天注塑机弘讯控制器对外提供数据的主要方式。理解控制器型号与通信参数、捋清寄存器点位表与字节序规则,是稳定采集的前提。通过RS485串口或以太网轮询,可以实时获取产量、温度、压力、报警等关键数据,进而支撑OEE统计、质量追溯与异常监控。本文基于实战项目,以海天注塑机弘讯控制器为例,梳理从接线、参数配置到点位验证的完整流程,为现场工程师提供一套可

weixin_28733777的博客 905

计组实验4 控制冒险与分支预测

目录前言实验内容背景知识分支预测技术⭐阻塞周期计算方法不开启 BTB开启 BTBpart 1 矩阵乘法与优化未开启 BTB 的分析开启 BTB 的分析part 2 设计代码使 BTB 无效part 3 循环展开优化矩阵乘法未开启 BTB开启 BTB结束语结论 前言 上一篇博客:计组实验3 mips冒险之流水线冒险 摸了半个月了。。。咕咕咕 今天来写计组实验 4 这个实验非常简单,就是有点难。 这个实验比较容易算错,或者是被模拟器出人意料的结果搞的神神叨叨的,所以今天来记录并且详细分析该实验。 注:请务必阅

AKGWSB 's blog 5667

ios APP启动原理与自定义UIApplication

iOS APP启动原理 在oc项目中,入口文件是main.m文件,App启动时首先会初始化所有的类,然后再调用main.m中的main函数。 启动过程: 从类的初始化到main函数的执行 执行AppDelegate中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDicti...

a1034386099的博客 1126

ROS开发者的福音:用Anaconda虚拟环境解决Python包冲突(附完整配置流程)

本文为ROS开发者提供了使用Anaconda虚拟环境解决Python包冲突的完整方案。通过分析冲突根源,详细介绍了Miniconda安装、专用环境创建以及核心桥梁包的配置流程,并阐述了“混合环境运行”与“纯虚拟环境构建”两种实战工作流,帮助开发者实现ROS核心与特定Python库的和谐共存,从而提升开发效率和项目可维护性。

weixin_28835789的博客 338

UIApplication详解

一. UIApplication (原文找不到出处了,写的不错,向原作者致敬!) 常规iPhone程序对象结构如下:对象个数        对象类型 1        UIApplication 1            UIApplicationDelegate/subclass 1,N                    UIViewControll

our_song的专栏 577

别再只看K线了!聊聊“板块联动”和“热点轮动”的跟踪方法与工具(实战派分享)

本文深入解析了如何通过板块联动和热点轮动构建高效交易系统。从三维验证框架到主流工具配置,再到持续性热点的五大特征,实战派交易员分享了识别市场主线和预判轮动方向的高阶技巧,帮助投资者摆脱单纯依赖K线的局限,提升交易决策效率。

weixin_29281941的博客 759

YOLO26 无损剪枝:稀疏训练 + 结构化通道裁剪

YOLO26 无损剪枝链路:YOLO26s (7.2M) → 稀疏训练 30 epoch (L1 on BN gamma, lam=0.01) → 阈值剪枝 50% (gamma<quantile(0.5)) → 结构化重建 Conv+BN → 微调 10 epoch (lr=1e-4) → YOLO26n (1.9M, mAP50 0.808, 仅降 0.6%)。核心贡献:稀疏训练让 BN gamma 趋向二元分布 (近 0 或近 1), 剪枝阈值可直接取 median 自动 50% 压缩。

m0_64661770的博客 263

UIApplication

1、UIApplication介绍 1.1 UIApplication类介绍 UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。 每一个程序在运行期必须有且仅有一个UIApplication(或则其子类)的一个实例。回想一下我在前面的文章“main函数研究”的文章中提到的main函数的代码,可以看出,在程序开始运行的时候,UIApplicationMai...

diaochuanzhi7826的博客 288

ABAP 百科全书的阅读目录(2024版)

909 篇 ABAP 技术文章的目录

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4244

ios学习笔记:我的收集——关于UIApplication

关于UIApplication不错的讲解: 点击打开链接

盛夏LL 413

地平线J6的基础简介

地平线J6M芯片:面向中阶辅助驾驶市场的高性价比芯片

weixin_43084908的博客 4448

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

UIApplication简介

UIApplication 什么是UIApplication? UIApplication对象是应⽤程序的象征. 每一个应用都有⾃己的UIApplication对象,这个对象是系统自动帮我们创建的, 它是一个单例对象. 一个iOS程序启动后创建的第一个对象就是UIApplication对象 我们只能通过[UIApplication sharedApplication]获得这个

colin_126的博客 348

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

iOS之UIApplication详解

UIApplication对象特点: 特点1: UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序,而且是单例的。(用来封装整个应用程序的一个对象, 比如当应用程序执行到某个时期要做什么, 生命周期等。) 获取UIApplication对象:[UIApplication sharedApplication] 一个iO...

weixin_30481087的博客 185

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

UIApplication对象的介绍和使用

1) UIApplication对象是应用程序的象征 2) 每一个应用都有自己的UIApplication对象,而且是单例的 3) 一个iOS程序启动后创建的第一个对象就是UIApplication对象 4) 通过[UIApplication sharedApplication]可以获得这个单例对象 5) 利用UIApplication对象,能进行一些应用级别的操作 UIAp

碎语1992 359

OC笔记 - UIPickerView、UIDatePicker、项目中的常见文件、UIApplication、UIWindow(2015.3.15)

1.UIPickerView #pragma mark - UIPickerViewDataSource // 返回pickerView一共有多少列 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView   // 返回pickerView的第component列有多少行 - (NSInteg

xiaojian3322的专栏 844

UIApplication、AppDelegate

一、UIApplicationMain的执行步骤 1、创建一个UIApplication对象,一个程序对应一个UIApplication对象(单例),UIapplication对象是程序的象征 2、接下来根据main函数中的第四个参数(UIApplication代理的类名)创建一个UIApplication的delegate对象 3、开启一个消息循环(不断监听一些系统事件) 4、监听

TXCxs的专栏 496

UIApplication常见使用

UIApplication对象是应用程序的象征 注意:UIApplication 不能手动创建,不能用alloc init会报错,一个应用程序只允许一个UIApplication。IOS程序启动创建第一个对象就是UIApplication。 通过[UIApplica...

chuanmo0596的博客 153

iOS开发之UIApplication

1、概述 UIApplication对象是应用程序的象征。每一个应用都有自己的UIApplication对象,而且是单例(只能有一个对象,我们不能去创建新对象,只能获取这个对象)的。通过[UIApplication sharedApplication]可以获得这个单例对象。一个iOS程序启动后创建的第一个对象就是UIApplication对象。利用UIApplication对象,能进行一些应用级...

weixin_33950035的博客 71

ios UIApplication sharedApplication详细解释

iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示:  int UIApplicationMain (  int argc,  char *argv[],  NSString *principalClassName,  NSString *delegateClassName  );  那么UIApplicationMai

有梦想的蜗牛 1645

程序启动原理和UIApplication

取4   一、UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。 (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示。 (3)通过[UIApplicationsharedApplicat...

雨打蕉叶 238
上一篇: UITableView编辑单元格多个按钮(4)
下一篇: iOS之动画总结
网上的虫
博客等级 码龄11年 8粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值