038改变状态栏的颜色(扩展知识:关于iOS不同版本的消息通知知识)
效果如下:
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不同版本的消息通知知识)的更多相关文章
- Android学习第八弹之改变状态栏的颜色使其与APP风格一体化
公众号:smart_android 作者:耿广龙|loonggg 点击"阅读原文",可查看更多内容和干货 导语:沉浸式状态栏,改变状态栏的颜色使之与APP风格一体化是不是感觉很漂亮 ...
- iOS7改变状态栏文字颜色
1在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO2 在需要改变状态栏颜色的 AppDelegate中在 didFinishLaun ...
- 【iOS学习笔记】改变状态栏字体颜色
Step1. info.plist中设置UIViewControllerBasedStatusBarAppearance为NO Step2. AppDelegate.m中添加 - (BOOL)appl ...
- 把所有界面的状态栏字体颜色设置为白色--iOS开发系列---项目中成长的知识一
第一步: 在info.plist中 View controller-based status bar appearance这个属性设置为 View controller-based status ba ...
- colorPrimaryDark无法改变状态栏颜色
设置完colorPrimaryDark后,这个颜色是改变状态栏的颜色的, colorPrimary是改变标题栏背景色的 发现状态栏一直是灰色. 然后在布局文件中 AndroidMainifest.xm ...
- 关于在ios7之后改变状态栏颜色
看到网上都说 在ios7之后要这样设置 首先,须要在Info.plist配置文件里,添加键:UIViewControllerBasedStatusBarAppearance,并设置为YES: 然后,在 ...
- iOS7默认状态栏文字颜色为黑色,项目需要修改为白色。
1在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO2 在需要改变状态栏颜色的 AppDelegate中在 didFinishLaun ...
- iOS6 与iOS7以及7以上状态栏的颜色设置
iOS7默认状态栏文字颜色为黑色 修改为白色的方法:(chenyong注意 我的Status bar style 使用的仍是默认值Gray style(default)) 1在Info.plist中设 ...
- iOS之 状态栏字体颜色的设置
前一段时间接手一个项目后,熟悉的过程中发现了不少问题,其中有一个就是关于状态栏的问题. 我们都知道:状态栏字体颜色在不同界面不一样的,原因是系统设置的时候把状态栏的字体颜色的界面控制器设置的yes. ...
随机推荐
- 2. 感知机(Perceptron)基本形式和对偶形式实现
1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...
- Virtual DOM 虚拟DOM的理解(转)
作者:戴嘉华 转载请注明出处并保留原文链接( #13 )和作者信息. 目录: 1 前言 2 对前端应用状态管理思考 3 Virtual DOM 算法 4 算法实现 4.1 步骤一:用JS对象模拟DOM ...
- 调整Intellij IDEA内存
最近IDEA真是卡的要死,下面
- PCL库简要说明
PCL(PointCloudLibrary)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取.滤波.分割.配准.检索. ...
- gclient多源码管理工具 DEPS文件
gclient来管理源码的checkout, update等. gclient是google专门为这种多源项目编写的脚本,它可以将多个源码管理系统中的代码放在一起管理.甚至包括将Git和svn代码放在 ...
- 更快的方式实现 PHP 数组去重
概述 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯一值的数组.这个函数大多数情况下都能工作得很好.但是,如果你尝试在一个大的数组里使用array_u ...
- win7 64位操作系统中 Oracle 11g 安装教程(图解)
1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.oracle.com/otn/nt/oracle11g/112010/win3 ...
- python 语法最佳实践
1. 列表推倒 我们知道, 列表类似于数组, 列表里存储的都是对象, 所以列表中可以存储"数字","字符串" 等对象. 列表用中括号扩起, 然后逗号分隔 列表内 ...
- 微信小程序的json遍历
入门教程之列表渲染多层嵌套循环,目前官方的文档里,主要是一维数组列表渲染的案例,还是比较简单单一,给刚入门的童鞋还是无从入手的感觉. <view wx:for="{{items}}&q ...
- USB学习笔记连载(十一):CY7C68013A的启动方式-EEPROM
上述的应用笔记中有介绍FX2LP的启动选项,主要包括I2C启动和USB启动. 说白了I2C启动需要使用外部的EEPROM,USB启动,只是使用上位机控制软件将配置程序FX2LP中,不用EEPRO ...