自学iOS开发小功能之六:UIApplication

一、UIApplication

1、简单介绍

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

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

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

(4) 一个iOS程序启动后创建的第一个对象就是UIApplication对象,且只有一个。

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

2、应用级别操作的代码示例

(1)设置应用程序图标右上角的红色提醒数字(强迫症的噩梦)

1     UIApplication *app = [UIApplication sharedApplication];
2 //    创建通知
3     UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
4 //    注册通知
5     [app registerUserNotificationSettings:setting];
6 //    设置appIcon的提醒数字
7     app.applicationIconBadgeNumber = 200;

(2)可以打开网页(在storyboard中拖一个button,监听button)

1 - (IBAction)btnClick:(id)sender {
2 //    打开网页
3     UIApplication *app = [UIApplication sharedApplication];
4     NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
5     [app openURL:url];
6 }

(3)可以显示联网状态(一直在转圈)

1     UIApplication *app = [UIApplication sharedApplication];
2 //    设置联网状态
3     app.networkActivityIndicatorVisible = YES;

(4)设置状态栏颜色(没看出多大变化,但是确实有这个方法)

1 -(UIStatusBarStyle)preferredStatusBarStyle
2 {
3 //    设置为白色
4     return UIStatusBarStyleLightContent;
5     //默认为黑色
6     return UIStatusBarStyleDefault;
7 }

(5)可以隐藏状态栏

但是我试了代码都没成功(-(BOOL)prefersStatusBarHidden等包括其他两种方式)不过在info.plist中添加Status bar is initially hidden为YES。

(6)据说还可以打电话,发短信,发邮件等等很多功能,我试了下网上给的代码,都没成功,有知道如何弄的分享下。

时间: 2024-07-29 02:33:51

自学iOS开发小功能之六:UIApplication的相关文章

自学iOS开发小功能之五:代理设计模式以及书写规范

一.基本概念 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 代理设计模式:我们买电饭锅之类的,不会亲自到厂家去买,而是在商超等地方购买,而商超就是厂家的代理 应用场合:1.对象B想监听对象A的行为,让对象B成为对象A的代理   2.对象A

自学iOS开发小功能之三:弹框的两种方式(iOS8.3之后新的方式,之前的已经弃用)

1.弹框出现在屏幕中间位置 UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"是否退出" preferredStyle: UIAlertControllerStyleAlert]; [alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActio

iOS开发小功能自学之二:分页(进行封装处理)

主要用Xib方式,代码后期还会有进一步的优化 下次用代码的时候一定要复制一份再用,直接拿出源代码来不小心哪里碰了下,耽误了10多分钟去找bug,郁闷!!! 功能:类似于手机打开新浪网首页最上面的大图片,自动滚动,右下角有个页数显示. 思路和注意点:1.主要用到的是scrollView和page control 2.在Xib中布置好控件 3.封装三部曲(首先在自定义构造方法内添加子控件,其次在layoutSubview中添加子控件的尺寸(此方法有随着外部尺寸变化,子控件尺寸比例随  着变化的动能)

iOS开发小功能的自学思路(弹出生日键盘为例)

1 #import "ViewController.h" 2 3 @interface ViewController () <UITextFieldDelegate> 4 @property (weak, nonatomic) IBOutlet UITextField *birthdayLabel; 5 @property (strong, nonatomic)UIDatePicker *datePicker; 6 7 @end 8 9 @implementation Vi

iOS开发小功能之九:五句代码搞定简单的父子控制器

小码哥大神的代码,确实精简! 1.最终结果如下面三个图,点击one,two,three,分别出现3个不同的控制器 直接代码:(三个控制器的创建就上了) #import "ViewController.h" #import "ZWOneViewController.h" #import "ZWTwoViewController.h" #import "ZWThreeViewController.h" @interface Vie

iOS开发小功能之八:手势的简单使用(6种)以及代理方法

代码: 1 #import "ViewController.h" 2 @interface ViewController () <UIGestureRecognizerDelegate> 4 @property (weak, nonatomic) IBOutlet UIImageView *imageView; 5 @end 7 @implementation ViewController 8 - (void)viewDidLoad { 9 [super viewDidLo

iOS开发小功能之十一:线程间的通信(3种方式)

三种方法都是通过touchesBegin监听屏幕的触摸实现 一.performSelector方式 1 #import "ViewController.h" 2 @interface ViewController () 3 @property (weak, nonatomic) IBOutlet UIImageView *imageView; 4 @end 5 @implementation ViewController 6 - (void)touchesBegan:(NSSet<

ios开发小知识2

http://blog.sina.com.cn/s/blog_66450b500102vadq.html http://www.cnblogs.com/lovesmile/archive/2012/06/27/2565569.html ios开发小知识2(转自cc) 退回输入键盘  - (BOOL)textFieldShouldReturn:(id)textField{    [textField resignFirstResponder];} CGRectCGRect frame = CGRe

27个iOS开发小技巧

<span style="word-wrap: normal; word-break: normal; line-height: 1.5em; font-size: 14px; outline: none; color: rgb(51, 51, 51); font-family: 'Helvetica neue', Helvetica, sTheiti, 微软雅黑, 黑体, Arial, Tahoma, sans-serif, serif;"><span style=