我想在發送通知時嚮應用程序中的UIButton添加徽章圖標,但我不太確定如何實現此目的。它需要與跳板圖標上的徽章相匹配,並且在應用程序中按下UIButton時,跳板徽章和UIButton上的徽章都需要消失。將推送通知徽章添加到UIButton
UPDATE:
我得到一個徽章出現,但是當我打開應用程序的徽章被重置回零的應用程序被打開時,所以我最終沒有看到按鈕上的徽章。我知道徽章的作品,因爲我做這個測試吧:
[[UIApplication sharedApplication]setApplicationIconBadgeNumber:1];
下面是徽章代碼:
NSString *badgeNumber = [NSString stringWithFormat:@"%d", [[UIApplication sharedApplication]applicationIconBadgeNumber]];
JSCustomBadge *actionAlertBadge = [JSCustomBadge customBadgeWithString:badgeNumber];
actionAlertBadge.frame = CGRectMake(188, 6, 30, 30);
[self.view addSubview:actionAlertBadge];
if ([badgeNumber isEqual:@"0"])
{
actionAlertBadge.hidden = YES;
}
我怎麼能有徽章得不到打開應用程序時重置,但而是在應用程序中按下按鈕時重置?
我有這個工作,但仍然有一個問題。如果應用程序未在後臺運行,則徽章會顯示在跳板圖標和UIButton上。當按鈕被按下時,新的視圖打開並且徽章被重置,所以當用戶用UIButton返回到屏幕時,徽章不再存在。我遇到的問題是應用程序在後臺運行時,徽章不會顯示在按鈕上,而是顯示在跳板上。
- (IBAction)gotoActionAlerts
{
ActionAlertsViewController *actionAlerts = [[ActionAlertsViewController alloc]initWithStyle:UITableViewStylePlain];
WebViewController *wvc = [[WebViewController alloc]init];
[actionAlerts setWebViewController:wvc];
actionAlerts.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[[UAPush shared] resetBadge];
actionAlertBadge.hidden = YES;
[self.navigationController pushViewController:actionAlerts animated:YES];
}
在viewDidLoad中
badgeNumber = [NSString stringWithFormat:@"%d", [[UIApplication sharedApplication]applicationIconBadgeNumber]];
actionAlertBadge = [JSCustomBadge customBadgeWithString:badgeNumber];
actionAlertBadge.frame = CGRectMake(83, 6, 30, 30);
[self.view addSubview:actionAlertBadge];
if ([badgeNumber isEqualToString:@"0"])
{
actionAlertBadge.hidden = YES;
}
我一直在想這是否可能,我需要做同樣的事情! – meda
是的,這是可能的。作爲@Viruss的回答,你可以使用UIApplication的'applicationIconBadgeNumber'屬性來設置和獲取徽章。 –