效果如下:

ViewController.h

 #import <UIKit/UIKit.h>

 @interface ViewController : UIViewController
@end

ViewController.m

 #import "ViewController.h"

 @interface ViewController ()
- (void)userNotificationDidPush:(UIApplication *)application;
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; UILabel *lblMessage = [[UILabel alloc] initWithFrame:CGRectInset(self.view.bounds, , )];
lblMessage.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
lblMessage.text = @"需要在PL文件新增行View controller-based status bar appearance=NO;触摸画面后,切换状态条颜色";
lblMessage.numberOfLines = ;
lblMessage.textAlignment = NSTextAlignmentCenter;
lblMessage.textColor = [UIColor brownColor];
lblMessage.backgroundColor = [UIColor whiteColor];
[self.view addSubview:lblMessage]; self.navigationItem.prompt = @"看看状态栏的颜色变化";
self.navigationItem.title = @"改变状态栏的颜色";
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UIApplication *application = [UIApplication sharedApplication];
//状态栏样式切换
if (application.statusBarStyle == UIStatusBarStyleDefault) {
application.statusBarStyle = UIStatusBarStyleLightContent;
} else {
application.statusBarStyle = UIStatusBarStyleDefault;
} [self userNotificationDidPush:application];
} /**
* 扩展知识:关于iOS不同版本的消息通知知识
*
* @param application 共享的UIApplication单例模式对象实例
*/
- (void)userNotificationDidPush:(UIApplication *)application {
//应用程序图标标记数
//因为registerUserNotificationSettings方法为iOS8的方法,无法在iOS8以下版本使用;所以需要分别处理
if([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[application registerUserNotificationSettings:settings];
} else {
[application registerForRemoteNotifications];
}
application.applicationIconBadgeNumber = ; //应用程序图标的消息标记数
//self.tabBarItem.badgeValue = @"3"; //底部选项卡的消息标记数 /* 判断Push推送通知是否打开;同上面一样道理需要分别处理
UIRemoteNotificationType types;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
types = [[UIApplication sharedApplication] currentUserNotificationSettings].types;
} else {
types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
}
BOOL isEnabledNotification = types & UIRemoteNotificationTypeAlert;
*/
} @end

AppDelegate.h

 #import <UIKit/UIKit.h>

 @interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *navigationController; @end

AppDelegate.m

 #import "AppDelegate.h"
#import "ViewController.h" @interface AppDelegate ()
@end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
_window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
ViewController *viewController = [[ViewController alloc] init];
_navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
_window.rootViewController = _navigationController;
[_window addSubview:_navigationController.view];
[_window makeKeyAndVisible];
return YES;
} - (void)applicationWillResignActive:(UIApplication *)application {
} - (void)applicationDidEnterBackground:(UIApplication *)application {
} - (void)applicationWillEnterForeground:(UIApplication *)application {
} - (void)applicationDidBecomeActive:(UIApplication *)application {
} - (void)applicationWillTerminate:(UIApplication *)application {
} @end

038改变状态栏的颜色(扩展知识:关于iOS不同版本的消息通知知识)的更多相关文章

  1. Android学习第八弹之改变状态栏的颜色使其与APP风格一体化

    公众号:smart_android 作者:耿广龙|loonggg 点击"阅读原文",可查看更多内容和干货 导语:沉浸式状态栏,改变状态栏的颜色使之与APP风格一体化是不是感觉很漂亮 ...

  2. iOS7改变状态栏文字颜色

    1在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO2 在需要改变状态栏颜色的 AppDelegate中在 didFinishLaun ...

  3. 【iOS学习笔记】改变状态栏字体颜色

    Step1. info.plist中设置UIViewControllerBasedStatusBarAppearance为NO Step2. AppDelegate.m中添加 - (BOOL)appl ...

  4. 把所有界面的状态栏字体颜色设置为白色--iOS开发系列---项目中成长的知识一

    第一步: 在info.plist中 View controller-based status bar appearance这个属性设置为 View controller-based status ba ...

  5. colorPrimaryDark无法改变状态栏颜色

    设置完colorPrimaryDark后,这个颜色是改变状态栏的颜色的, colorPrimary是改变标题栏背景色的 发现状态栏一直是灰色. 然后在布局文件中 AndroidMainifest.xm ...

  6. 关于在ios7之后改变状态栏颜色

    看到网上都说 在ios7之后要这样设置 首先,须要在Info.plist配置文件里,添加键:UIViewControllerBasedStatusBarAppearance,并设置为YES: 然后,在 ...

  7. iOS7默认状态栏文字颜色为黑色,项目需要修改为白色。

    1在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO2 在需要改变状态栏颜色的 AppDelegate中在 didFinishLaun ...

  8. iOS6 与iOS7以及7以上状态栏的颜色设置

    iOS7默认状态栏文字颜色为黑色 修改为白色的方法:(chenyong注意 我的Status bar style 使用的仍是默认值Gray style(default)) 1在Info.plist中设 ...

  9. iOS之 状态栏字体颜色的设置

    前一段时间接手一个项目后,熟悉的过程中发现了不少问题,其中有一个就是关于状态栏的问题. 我们都知道:状态栏字体颜色在不同界面不一样的,原因是系统设置的时候把状态栏的字体颜色的界面控制器设置的yes. ...

随机推荐

  1. django源码解析之 BooleanField (二)

    class BooleanField(Field): empty_strings_allowed = False default_error_messages = { 'invalid': _(u&q ...

  2. 一个JS引发的血案

    转载一篇大师傅的文章: 原文链接:http://xn--i2r.ml/index.php/2017/08/05/39.html 又到了周末,闲来无聊,挖挖补天 找了个目标,发现一个站 查看源码发现一个 ...

  3. jQuery Validate验证方法及教程

    //实名认证 验证 $(function(){ //中文姓名验证 jQuery.validator.addMethod("zh_verify", function(value, e ...

  4. THEOS的第一个TWeak的成功创建

    THEOS的第一个TWeak的成功创建html, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMi ...

  5. php的变量引用与销毁机制

    在php中,符号"&"表示引用. 1.看看不引用的情况是这样子: $a  = "hello world";//定义一个变量,下面赋值给$b $b = $ ...

  6. Python MQTT订阅获取发布信息字典过滤

    起因是因为 订阅的时候,获取到的 MQTT 信息时,第一条信息好像是连接信息,所以需要过滤他. 接收到的数据如下 必须要过滤这个 name : 1 的字典,操作如下: def on_message(c ...

  7. ubuntu 安装 mkfs.ubifs

    ubi 文件系统的制作需要 mkfs.ubifs 工具 但是又没有直接的 sudo apt-get install , 只能通过以下方式 sudo apt-get install mtd-utils

  8. linux文件系统比较

    Linux上有许多可用的文件系统.每个文件系统都有其特定的用途,以便于特定用户解决不同的问题.本文的焦点集中在Linux平台上文件系统的主流选择.毫无疑问,其它的场景下还有一些别的选择. 文件系统:它 ...

  9. 【嵌入式】——makefiles

    汇编通用makefile: 命令行编辑: 编译 arm-linux-as -march=armv5te -o led.o led.s -march 指定的指令集的版本 指定架构 连接 arm-linu ...

  10. Java设计模式(14)责任链模式(Chain of Responsibility模式)

    Chain of Responsibility定义:Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合, ...