038改变状态栏的颜色(扩展知识:关于iOS不同版本的消息通知知识)
2015-06-15 10:27
645 查看
效果如下:
[b]ViewController.h[/b]
ViewController.m
AppDelegate.h
AppDelegate.m
[b]ViewController.h[/b]
#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, 20, 20)]; lblMessage.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; lblMessage.text = @"需要在PL文件新增行View controller-based status bar appearance=NO;触摸画面后,切换状态条颜色"; lblMessage.numberOfLines = 0; 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 = 3; //应用程序图标的消息标记数 //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
相关文章推荐
- 【Xamarin】Visual Studio 2013 Xamarin for iOS 环境搭建
- iOS运行时编程(Runtime Programming)和Java的反射机制对比
- ios url 请求头添加参数及自定义cookie
- ios 如何让TableView加入横向滑动出现删除按钮的功能
- iOS 实用的Xcode插件
- iOS 设计
- iOS 项目中用到的一些 iOS 开源库和第三方组件
- IOS开发常见第三方总结
- ios 开发所用到的第三方
- iOS Socket第三方开源类库 AsyncSocket
- iOS开发,事半功倍基本心得
- 一键搭建nagios监控系统之三 测试篇
- 一键搭建nagios监控系统之二 脚本解释篇
- 一键搭建nagios监控系统之一 脚本篇
- ios 日记3 define和typedef(2)
- iOS项目立项
- iOS实现安卓的Toast消息提示框
- iOS:KVO/KVC 的概述与使用
- [转载]对iOS开发中内存管理的一点总结与理解
- ios 获取屏幕的属性和宽度