温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

IOS开发过程中的消息通知--小红点

发布时间:2020-10-08 01:05:08 来源:脚本之家 阅读:168 作者:cx_wzp 栏目:移动开发

大致分为两种方法:系统方法和自定义方法

系统方法:

系统自带的方法可以显示具体的消息数量,这个就是苹果设备常见的小红点。实现思路如下:

NSArray *tabBarItems = self.navigationController.tabBarController.tabBar.items;
UITabBarItem *personCenterTabBarItem = [tabBarItems objectAtIndex:3];
personCenterTabBarItem.badgeValue = @"2";//显示消息条数为 2

效果如下图所示:

IOS开发过程中的消息通知--小红点

自定义方法:

自己将小红点图标放在想要显示的位置,控制UIImageView的hidden属性即可。实现思路如下:

UIImageView *dotImage = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:@"red_point_small"]];
    dotImage.backgroundColor = [UIColorclearColor];
    CGRect tabFrame =self.navigationController.tabBarController.tabBar.frame;
    CGFloat x =ceilf(0.9 * tabFrame.size.width);
    CGFloat y =ceilf(0.1 * tabFrame.size.height);
    dotImage.frame =CGRectMake(x, y, 8,8);
    [self.navigationController.tabBarController.tabBaraddSubview:dotImage];

效果如下图所示:

IOS开发过程中的消息通知--小红点

上面提到的方法,基本上可以放在ViewController的任何位置,不过还有一种情况做不到,就是App的桌面应用图标上的消息提示。

App的桌面应用图标上的消息提示,实现思路如下:

    if ([[XWGlobalHelper systemVersion] intValue] > 7.99 && [[XWGlobalHelper systemVersion] intValue] < 9.001) {
      
//IOS8 需要 设置
UIUserNotificationSettings *settings = [UIUserNotificationSettings
settingsForTypes:UIUserNotificationTypeBadge categories:nil];
      [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
    }
    [UIApplication sharedApplication].applicationIconBadgeNumber = 3;

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持亿速云!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI