博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIApplication和OpenUrl的基于使用方法
阅读量:4885 次
发布时间:2019-06-11

本文共 3757 字,大约阅读时间需要 12 分钟。

UIApplication实用方法

前言:

本文介绍的方法每一个人在项目都应用过,只是有的时候容易忘记每次都要去百度。因为有些方法在整个项目中可能就只会写一次,基于此我只是做个笔记。

1. 每一个应用程序都有一个UIApplication对象,是一个单例。在程序中只能通过[UIApplication sharedApplication]来获得这个单例对象,不能通过alloc去新建一个UIApplication对象

2. 利用UIApplication可以进行的应用级别操作举例

(1)设置应用程序图标右上角的红色提醒数字(applocationIconBadgeNumber)

实例代码:

//获取到应用程序中UIApplication单例对象//设置应用程序图标右上角的红色提醒数字// 获取当前应用程序的UIApplication对象UIApplication *app = [UIApplication sharedApplication];    [UIApplication sharedApplication].applicationIconBadgeNumber = @"20";  //在IOS8以后要想设置applicationIconBadgeNumber,需要用户的授权,在IOS8以后,需要加上下面的代码   float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 8.0) {     UIUserNotificationSettings * settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];        [app registerUserNotificationSettings:settings];     }

效果图:

10A5E928-4AEB-485B-ADE9-2EDD6A1C9CDA.png

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

netWworkActivityIndicatorVisible
实例代码:

设置联网指示器可见

app.networkActivityIndicatorVisible = YES;

效果图:

625BA66F-551F-4058-A6B8-5E2FAB93B38C.png

(3)管理状态栏

从iOS7开始,系统提供了2种管理状态栏的方式
a.通过UIViewController管理(这意味着每一个UIViewController都可以拥有自己不同的状态栏)
在iOS7以后默认情况下,状态栏都是由UIViewController管理的,通过实现以下两个方法:
状态样式:- (UIStatusBarStyle)preferredStatusBarStyle;
状态栏的可见性: - (BOOL)prepersStatusBarHidden;
实例代码:

- (UIStatusBarStyle)preferredStatusBarStyle{        //UIStatusBarStyleDefault        //默认,黑色    //UIStatusBarStyleLightContent   //白色    return UIStatusBarStyleLightContent;}//状态栏是否隐藏- (BOOL)prefersStatusBarHidden{    return YES;}

效果图:

1091A41E.png

通过UIApplication管理(一个应用程序的所有界面的状态栏都由它统一管理)

如果想利用UIApplication来管理状态栏,首先得修改Info.plist的设置(添加属性View controller-based status bar appearance 并且设置其BOOL值为NO),然后在程序中实现以下代码:
//设置状态栏的样式app.statusBarStyle = UIStatusBarStyleDefault; //默认(黑色)//白色app.statusBarStyle = UIStatusBarStyleLightContent;//设置是否隐藏状态栏app.statusBarHidden = NO;
//系统方法,当从tabbar push过来的时候不隐藏tabbar- (BOOL)hidesBottomBarWhenPushed{    return NO;}
#pragma mark - 禁止横屏幕- (BOOL)shouldAutorotate{    return NO;}
/**当前是否支持哪些转屏*/- (UIInterfaceOrientationMask)supportedInterfaceOrientations{    return UIInterfaceOrientationMaskLandscape;}- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{    return UIInterfaceOrientationLandscapeRight;}/**显示状态栏*/- (BOOL)prefersStatusBarHidden{    return NO;}

(4)openURL:方法

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

-(BOOL)openURL:(NSURL *)url;//openURL:方法的部分功能有//打电话:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“tel://18812345678”]];//发短信:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“sms://18812345678"]];//发邮件:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“mailto://marlonxlj@163.com”]];//打开网页:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“http://www.baidu.com”]];//调用谷歌地图(Google Maps)NSString *searchQuery = @"1 Infinite Loop, Cupertino, CA 95014";  searchQuery = [addressText stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];  NSString *urlString=[NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", searchQuery];  [[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlString]];//调用应用商店(AppStore),这个地址是可以官网上查到的NSURL *appStoreUrl= [NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291589999&mt=8"];[[UIApplication sharedApplication] openURL:appStoreUrl];//调用appstore中程序的评论NSString *str = [NSString stringWithFormat:                         @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d",                         m_appleID ];  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

> 关于iOS10系统调用的问题

> iOS10以下可以调用到系统的WIFI设置等,但是iOS10以后就不再支持系统调用到WIFI设置等,只是调到App的系统设置页面。

> 有任何问题请及时issues me

> Email: marlonxlj@163.com

转载于:https://www.cnblogs.com/marlonxlj/p/6077066.html

你可能感兴趣的文章
Thinkphp 3.2笔记
查看>>
RHEL7开机不能正常进入系统(图形化界面)
查看>>
Android开发环境搭建完全图解
查看>>
详解BOM头以及去掉BOM头的方法
查看>>
PHP 手机浏览器访问网站获取手机相关信息方法集锦
查看>>
09年电子竞赛参赛技巧经验11条(转载)
查看>>
CSS颜色
查看>>
Unity 摄像头竖屏预览显示的问题
查看>>
HDU 5115 Dire Wolf(区间dp)
查看>>
C# 程序配置文件的操作(ConfigurationManager的使用)
查看>>
Springmvc完成分页的功能
查看>>
JComboBox实现当前所选项功能和JFrame窗口释放资源的dispose()方法
查看>>
tp 引入phpexcel 进行单表格的导入,在线浏览
查看>>
jsp基础速成精华讲解
查看>>
URL to Blob
查看>>
bzoj 3643: Phi的反函数
查看>>
HTML中解决双击会选中文本的问题
查看>>
3.单例模式-singleton
查看>>
说说Vue.js的v-for
查看>>
Java第四次作业
查看>>