简体   繁体   English

如何在IOS中重新加载UIBarButtonItem

[英]How to reload UIBarButtonItem in IOS

My app is like a shopping cart. 我的应用程序就像一个购物车。 I have added one cart UIBarButtonItem in navigation bar. 我在导航栏中添加了一个购物车UIBarButtonItem。
In cart button I have added a badge at top. 在购物车按钮中,我在顶部添加了徽章。
Now my question is when I add an Item on cart How to update badge on button without navigation or when I delete an item from cart badge would be update. 现在我的问题是当我在购物车上添加商品时如何在没有导航的情况下更新按钮上的徽章,或者当我从购物车徽章中删除商品时将更新。
Is it possible to reload navigation bar without navigation? 是否可以在没有导航的情况下重新加载导航栏?

I just Update my badge when I want to reload. 我只是在想要重新加载时更新我的​​徽章。 For eg when I delete any product from cart I reinitialise the bar button item. 例如,当我从购物车中删除任何产品时,我重新初始化条形按钮项目。 Here, is my code: 在这里,是我的代码:

  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]; 

Check condition and show/hide badge accordingly. 检查条件并相应地显示/隐藏徽章。

First, you have to hide badge. 首先,你必须隐藏徽章。 When any item is selected check count of item selected is greater than 0 then show badge. 选择任何项目时,检查所选项目的计数大于0,然后显示徽章。

Every time any item selected show badge. 每次选择任何项目都会显示徽章。

Every time any item deselected check if selected item == 0 then hide badge. 每次取消选择任何项目时,检查所选项目== 0,然后隐藏徽章。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM