iOS开发--底部按钮和应用图标显示未读消息
来源:互联网 发布:python 计时功能 编辑:程序博客网 时间:2024/05/17 06:07
我们要实现的效果如下:
我们使用系统自带的,实际上,代码量很少,在我们要显示的按钮上,打上下面一句代码即可:
1
self
.tabBarItem.badgeValue = @
"1"
;
同时设置图标和按钮的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* 获得未读数
*/
- (
void
)setupUnreadCount
{
//获取未读数具体方法
//最终返回一个数字,如:
int
count=10;
// 设置提醒数字(微博的未读数)
NSString
*status = [
NSString
stringWithFormat:@
"%d"
, count];
if
([status isEqualToString:@
"0"
]) {
// 如果是0,得清空数字
self
.tabBarItem.badgeValue =
nil
;<br>
//应用图标显示
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
else
{
// 非0情况
self
.tabBarItem.badgeValue = status;
[UIApplication sharedApplication].applicationIconBadgeNumber = status.intValue;
}
}
当然,设置的显示的这个数字,是应该会定时的变的。如何使这个方法定时的调用呢?
1
2
3
4
5
6
7
8
9
- (
void
)viewDidLoad
{
[
super
viewDidLoad];
// 获得未读数
NSTimer
*timer = [
NSTimer
scheduledTimerWithTimeInterval:60 target:
self
selector:
@selector
(setupUnreadCount) userInfo:
nil
repeats:
YES
];
// 主线程也会抽时间处理一下timer(不管主线程是否正在其他事件)
[[
NSRunLoop
mainRunLoop] addTimer:timer forMode:
NSRunLoopCommonModes
];
}
做完上面的操作后,我们是可以看到效果了。但还存在一个问题就是,我们的应用进入后台后,定时器不再工作,变成了一个暂时状态。那为什么一个音乐的应用可以一直在后台运行呢?实际上,在AppDelegate里面已经有后台运行的方法,我们在这个方法里做一些操作即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
* 当app进入后台时调用
*/
- (
void
)applicationDidEnterBackground:(UIApplication *)application
{
/**
* app的状态
* 1.死亡状态:没有打开app
* 2.前台运行状态
* 3.后台暂停状态:停止一切动画、定时器、多媒体、联网操作,很难再作其他操作
* 4.后台运行状态
*/
// 向操作系统申请后台运行的资格,能维持多久,是不确定的
UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
// 当申请的后台运行时间已经结束(过期),就会调用这个block
// 赶紧结束任务
[application endBackgroundTask:task];
}];
// 在Info.plst中设置后台模式:Required background modes == App plays audio or streams audio/video using AirPlay
// 搞一个0kb的MP3文件,没有声音
// 循环播放
// 以前的后台模式只有3种
// 保持网络连接
// 多媒体应用
// VOIP:网络电话
}
在上面的代码里,我们看到,需要在Info.plst中设置后台模式:Required background modes == App plays audio or streams audio/video using AirPlay,如图:
最后搞一个0kb的MP3,没有声音的,循环播放即可。
0 0
- iOS开发--底部按钮和应用图标显示未读消息
- iOS开发--底部按钮和应用图标显示未读消息
- iOS开发--底部按钮和应用图标显示未读消息
- 底部按钮和应用图标显示未读消息
- 底部按钮和应用图标显示未读消息
- Android 应用启动图标未读消息数显示
- 应用启动图标未读消息数显示 工具类
- android 应用图标 角标 显示未读消息
- 图标显示未读消息数量
- Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
- Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
- Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
- Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
- Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
- Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
- Android 仿微信底部菜单栏 + 显示未读消息数量
- iOS开发 - 去掉接到推送消息后,应用图标显示的小红点
- 【Python学习笔记】-APP图标显示未读消息数目
- POI 解析Word 需要的包
- HDU 2082
- 第一行代码阅读笔记----显示隐式Intent的基本用法
- 日常小结-while多线程改变判断条件时的异常情况
- hd 2544 最短路径(简单dij)
- iOS开发--底部按钮和应用图标显示未读消息
- 去掉字符串中的逗号
- python内置容器之字典
- 浅谈Dubbo服务框架
- 字符串和日期之间的转换
- 大话Redis进阶
- 【U3d】渲染统计窗口详细介绍(Rendering Statistics Window)
- iOS极光推送集成
- [JZOJ4837]I Liked Matrix!