如何在 IOS 中重新加载 UIBarButtonItem
How to reload UIBarButtonItem in IOS
我的应用就像一个购物车。我在导航栏中添加了一个购物车 UIBarButtonItem。
在购物车按钮中,我在顶部添加了一个徽章。
现在我的问题是,当我在购物车上添加一个项目时,如何在没有导航的情况下更新按钮上的徽章,或者当我从购物车中删除一个项目时,徽章将被更新。
是否可以在没有导航的情况下重新加载导航栏?
相应地检查条件和 show/hide 徽章。
首先,你必须隐藏徽章。选择任何项目时,检查所选项目的计数是否大于 0,然后显示徽章。
每次选择任何项目时都会显示徽章。
每次取消选择任何项目时,检查所选项目是否 == 0 然后隐藏徽章。
我只是在想重新加载时更新我的徽章。例如当我从购物车中删除任何产品时,我会重新初始化栏按钮项目。这是我的代码:
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];
我的应用就像一个购物车。我在导航栏中添加了一个购物车 UIBarButtonItem。
在购物车按钮中,我在顶部添加了一个徽章。
现在我的问题是,当我在购物车上添加一个项目时,如何在没有导航的情况下更新按钮上的徽章,或者当我从购物车中删除一个项目时,徽章将被更新。
是否可以在没有导航的情况下重新加载导航栏?
相应地检查条件和 show/hide 徽章。
首先,你必须隐藏徽章。选择任何项目时,检查所选项目的计数是否大于 0,然后显示徽章。
每次选择任何项目时都会显示徽章。
每次取消选择任何项目时,检查所选项目是否 == 0 然后隐藏徽章。
我只是在想重新加载时更新我的徽章。例如当我从购物车中删除任何产品时,我会重新初始化栏按钮项目。这是我的代码:
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];