如何在IOS中重新加载UIBarButtonItem

如何在IOS中重新加载UIBarButtonItem,ios,objective-c,xcode,uinavigationitem,Ios,Objective C,Xcode,Uinavigationitem,我的应用程序就像一个购物车。我在导航栏中添加了一个cart UIBarButtonItem。 在购物车按钮中,我在顶部添加了一个徽章。 现在我的问题是,当我在购物车上添加一个项目时,如何在没有导航的情况下更新badge on按钮,或者当我从购物车上删除一个项目时,badge将被更新。 是否可以在没有导航的情况下重新加载导航栏?检查条件并相应地显示/隐藏徽章 首先,你必须隐藏徽章。选择任何项目时,检查所选项目的计数是否大于0,然后显示徽章 每次选定的任何项目都会显示徽章 每次取消选择任何项目时,请

我的应用程序就像一个购物车。我在导航栏中添加了一个cart UIBarButtonItem。
在购物车按钮中,我在顶部添加了一个徽章。
现在我的问题是,当我在购物车上添加一个项目时,如何在没有导航的情况下更新badge on按钮,或者当我从购物车上删除一个项目时,badge将被更新。

是否可以在没有导航的情况下重新加载导航栏?检查条件并相应地显示/隐藏徽章

首先,你必须隐藏徽章。选择任何项目时,检查所选项目的计数是否大于0,然后显示徽章

每次选定的任何项目都会显示徽章


每次取消选择任何项目时,请检查所选项目是否==0,然后隐藏徽章。

我只在需要重新加载时更新徽章。例如,当我从购物车中删除任何产品时,我会重新初始化bar按钮项。这是我的代码:


这可能对你有帮助。我已经添加了cutombadge。但我的问题是如何在更改徽章时重新加载?如果您使用了MGBadgeview,那么您可以使用[btnAddToCart.badgeView setBadgeValue:[Arroder count];但我告诉我们另一个第三方的家伙。里面有一种方法,我认为这是一种设置badge badge3上的文本的方法。badgeText=@“4”;我宁愿建议您维护您的UIButton的全局实例,您正在将其添加到UIBarButtonim中。然后可以使用UIButton的全局实例来更新bagde。因此,可以避免创建整个按钮。
 NSMutableArray *arrProducts = [[notification userInfo] objectForKey:@"CartList"];

[[NSUserDefaults standardUserDefaults] setInteger:[arrProducts count] forKey:@"Badge"];
[[NSUserDefaults standardUserDefaults] synchronize];

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *backButtonImage = [UIImage imageNamed:@"shopping_cart.png"];
[button setBackgroundImage:backButtonImage forState:UIControlStateNormal];
// add badge to cart button.
[CommonUtils AddBadge:button];
[button addTarget:self action:@selector(AddToCartClicked:) forControlEvents:UIControlEventTouchUpInside];
button.frame = CGRectMake(0, 0, 30, 30);

[btnAddtoCart initWithCustomView:button];