ios-day10-06(UIApplication的介绍。UIApplication的常用属性、使用UIApplication控制和管理状态栏)

1,什么是UIApplication

UIApplication对象是应用程序的象征


每一个应用都有自己的UIApplication对象,而且是单例的


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


一个iOS程序启动后创建的第一个对象就是UIApplication对象


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


2,UIApplication的常用属性

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

@property(nonatomic) NSInteger applicationIconBadgeNumber;


设置联网指示器的可见性

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



3,ios7中的状态栏

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

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

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

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

状态栏的样式

- (UIStatusBarStyle)preferredStatusBarStyle; 


状态栏的可见性

- (BOOL)prefersStatusBarHidden; 

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




接下来是是我写的一个demo:


源码下载地址:http://download.youkuaiyun.com/detail/liu537192/8488595


效果图:



核心代码:

//
//  JLViewController.m
//  05-UIApplication介绍
//
//  Created by XinYou on 15-3-10.
//  Copyright (c) 2015年 vxinyou. All rights reserved.
//

#import "JLViewController.h"

@interface JLViewController ()
/**
 *  设置应用程序图标右上角的红色提醒数字
 */
- (IBAction)setIconNumber;
/**
 *  设置联网指示器的可见性
 */
- (IBAction)setNetworkIndicatorVisible;
/**
 *  设置状态栏的样式
 */
- (IBAction)setStatusBarStyle;
/**
 *  隐藏状态栏
 */
- (IBAction)setStatusBarHidden;
@end

@implementation JLViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    
}

// 下面这两个方法是以静态的方式来管理状态栏,
// 我们可以通过UIApplication来动态的管理状态栏的样式以及显示和隐藏

//- (BOOL)prefersStatusBarHidden{
//
//    return YES;
//}

//- (UIStatusBarStyle)preferredStatusBarStyle{
//
//    return UIStatusBarStyleLightContent;
//}

- (IBAction)setIconNumber {
    
    UIApplication *application = [UIApplication sharedApplication];
    
    application.applicationIconBadgeNumber = 20;
    // 0表示不显示数字
//    application.applicationIconBadgeNumber = 0;
}

- (IBAction)setNetworkIndicatorVisible {
    
    UIApplication *application = [UIApplication sharedApplication];
    
    application.networkActivityIndicatorVisible = YES;
}

- (IBAction)setStatusBarStyle {
    
    UIApplication *application = [UIApplication sharedApplication];
    
//    application.statusBarStyle = UIStatusBarStyleLightContent;
    // 这方法可以动画的方式改变状态栏的样式。
    [application setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
}

- (IBAction)setStatusBarHidden {
    
    UIApplication *application = [UIApplication sharedApplication];
    
    application.statusBarHidden = YES;
}
@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值