41

删除我的应用程序图标上的徽章的代码是什么?当我收到推送时,我需要在单击按钮时将其删除!

4

4 回答 4

97

对象

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

迅速

UIApplication.sharedApplication().applicationIconBadgeNumber = 0;
于 2009-11-26T12:18:04.500 回答
10

您可以通过将以下行添加到代码中来从推送通知中删除徽章

(void)applicationDidBecomeActive:(UIApplication *)application
{
    [[UIApplication sharedApplication] cancelAllLocalNotifications];
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
于 2014-06-04T10:33:27.623 回答
7

至于iOS5,只设置徽章编号不会删除通知中心的那些推送通知。你必须这样做...

[[UIApplication sharedApplication] cancelAllLocalNotifications];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

我已经对此进行了测试。看起来cancelAllLocalNotifications方法也适用于通知中心的推送通知。

于 2012-05-25T11:18:28.773 回答
1

斯威夫特 3

UIApplication.shared.applicationIconBadgeNumber = 0

可以添加到以下方法中:

optional public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool

optional public func applicationDidBecomeActive(_ application: UIApplication)
于 2017-03-26T10:57:07.490 回答