0

当有通知时,我在通知按钮上设置了一个标记,该按钮是三个潜在的右栏按钮项目之一。

当没有通知时,通知按钮应该并且根本不显示。当有通知时,我希望按钮显示在带有徽章的另外两个按钮的中间。当我只有两个潜在按钮时,它起作用了。但是,我现在添加了第三个按钮,它应该是两个或三个右按钮中最左边的按钮,并且徽章出现在我想要的中间位置(通知按钮)而不是最右边的按钮上。

我正在使用一个处理插入徽章的类别,称为

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;

}

任何人都可以建议如何指定徽章应该插入中间按钮,而不是最右边。

4

0 回答 0