zoukankan      html  css  js  c++  java
  • iOS 8显示应用角标

    1. iOS 8角标显示须要用户授权,可在应用启动时请求授权:

        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
         {
            if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0)
            {
                UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
                UIUserNotificationSettings *notificationSettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
                [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
            }
            else
            {
                UIRemoteNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
                [[UIApplication sharedApplication] registerForRemoteNotificationTypes:types];
            }
        
            return YES;
        }

    2. 显示角标:

    - (void)showBadgeNumbers
    {
       // Request Method(服务器返回指定数据datas)

       // 若无新数据
    if ([datas isEqualToString:@"0"]) { [self cleanBadgeNumber]; } else { // tabBarItem右上角显示未读数 self.tabBarItem.badgeValue = datas; // 应用右上角显示未读数 [UIApplication sharedApplication].applicationIconBadgeNumber = datas.intValue; } }

    3. 清空角标:

    - (void)cleanBadgeNumber
    {
        // 清空tabBarItem右上角未读数
        self.tabBarItem.badgeValue = nil;
        // 清空应用右上角未读数
        [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
    }

    4. 设置定时器自动调用

    - (void)viewDidLoad 
    {
    [super viewDidLoad];
       // 显示未读数 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(showBadgeNumbers) userInfo:nil repeats:YES]; // 加入Runloop [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; }

    5. 应用进入后台继续调用

    - (void)applicationDidEnterBackground:(UIApplication *)application 
    {
    // 向操作系统申请后台运行资格, 后台运行时间受系统控制 __block UIBackgroundTaskIdentifier taskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^{ // 后台运行时间已经结束 // 结束任务 [application endBackgroundTask:taskIdentifier]; }]; }
  • 相关阅读:
    《需求工程——软件建模与分析》读后感之三
    项目目标文档
    利益相关者描述案例
    《需求工程——软件建模与分析》读后感之二
    《需求工程——软件建模与分析》读后感之一
    专业实训题目需求分析
    《代码之美》读后感
    计算“1”的数量
    团队冲刺第九天
    linux df 命令
  • 原文地址:https://www.cnblogs.com/happyplane/p/4703572.html
Copyright © 2011-2022 走看看