当有通知时,我在通知按钮上设置了一个标记,该按钮是三个潜在的右栏按钮项目之一。
当没有通知时,通知按钮应该并且根本不显示。当有通知时,我希望按钮显示在带有徽章的另外两个按钮的中间。当我只有两个潜在按钮时,它起作用了。但是,我现在添加了第三个按钮,它应该是两个或三个右按钮中最左边的按钮,并且徽章出现在我想要的中间位置(通知按钮)而不是最右边的按钮上。
我正在使用一个处理插入徽章的类别,称为
UIBarButtonItem+Badge
这是我的代码:
-(void) updateNotificationsButton {
NSMutableArray *buttonsToShow;
NSInteger badgeInt =[[NSUserDefaults standardUserDefaults] integerForKey:@"badgeInt"];
if (badgeInt>=1) {
buttonsToShow = [NSMutableArray arrayWithObjects:myBarButton,notificationButton,searchButton, nil];
} else {
buttonsToShow = [NSMutableArray arrayWithObjects:myBarButton, searchButton,nil]; }
[self.navigationItem setRightBarButtonItems:buttonsToShow animated:YES];
NSString *onebadgestring= [NSString stringWithFormat: @"%li",badgeInt];
NSString *badgestring = [@(badgeInt) stringValue];
self.navigationItem.rightBarButtonItem.badgeValue = badgestring;
}
任何人都可以建议如何指定徽章应该插入中间按钮,而不是最右边。