我正在开发一个提醒应用。我正在使用本地通知。它工作正常。但是徽章编号始终显示在我的应用程序图标上方。如何在解除本地通知后删除徽章编号?当我将[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
放入完成启动时,徽章编号将被完全删除。
答案 0 :(得分:6)
每当在App代理中发出通知时,didReceiveLocalNotification方法被触发 您可以减少一个计数,并在添加新通知时添加一个。
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
[UIApplication sharedApplication].applicationIconBadgeNumber=application.applicationIconBadgeNumber-1;
}
干杯
答案 1 :(得分:6)
我猜你是想从徽章图标中删除badgeNumber
,只显示一个空的(没有任何数字)徽章图标。
您不能仅从徽章图标中删除徽章编号。如果您将applicationIconBadgeNumber
设置为0
,徽章图标本身将从应用程序图标中删除。
如果要显示徽章,则应该有一个数字,而不是0
。 0
旨在删除徽章图标。
答案 2 :(得分:2)
我尝试了同样的事情,我发现了这个:
当应用程序在后台并且您尝试将LocalNotification设置为0时,它将不会删除IconBadgeNumber。你需要将IconBadgeNumber设置为-1。
UILocalNotification *localSilentNotif;
localSilentNotif.applicationIconBadgeNumber = -1;