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. ...
随机推荐
- 【微信小程序】Page页面跳转(路由/返回)并传参
页面跳转的方法参考官方文档: https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/route.html 问题:使用wx.na ...
- Linxu磁盘分区
http://vbird.dic.ksu.edu.tw/linux_basic/0130designlinux.php#hardware_know(好文章) http://blog.chinaunix ...
- SpringMVC RedirectView的使用以及源码分析
看一段普通的代码,我们访问controller中的一个方法后,重定向到另外一个controller或者视图. @RequestMapping(params="method=index&quo ...
- Python 读取数据
将一个文件夹下面的图像和对应的pts读进来,然后把pts文件里面的数据读入一个数组,然后画到图像上: # -*- coding:utf- -*- """ 测试数据样例 & ...
- android开发(40) 初试 Volley - GoogleI02013上的“快速,简单的网络通讯库”
什么是Volley Google I/O 2013上,Volley发布了.Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮.这是Volley名称的由来: a burst ...
- Python 内置方法new
class Dog(object): def __new__(self): print("i am new .") def __init__(self): print(" ...
- Python 引用
python引用python中的数值类型变量也是引用,例如: a = 100b=a那么a和b指向同一块内存但是当修改a或者b的值得时候,Python会新分配一块内存来存储新的值 python中不可变类 ...
- Three ways to make your WPF images pop out on MouseOver
There are a couple of ways in WPF to make an image pop out when moving mouse over it. Of course we w ...
- IntelliJ IDEA 13.1.3 SVN无法正常使用问题
http://my.oschina.net/luckyi/blog/291007 最新升级IDEA12到13版本,升级后发现IDEA中SVN无法正常使用,但文件夹下能够正常使用. 并且报错:svn: ...
- Numpy 的数组转置和轴对换
数组转置 转置(transpose)是重塑的一种特殊形式, 它返回的是源数据的视图(不会进行任何操作.)数组不仅有transpose,还要特殊的T属性 计算矩阵内积 高维数组transpose 详细讲 ...