今天学习别人的项目源码的时候,看到这样的一种实现功能:首页添加至购物车,TabBar显示购物车的数量....想到以前没有做过,这里学习了,记录一下:

实现的效果图如下:

当点击首页添加至购物的操作的时候,Tabbar的购物车item显示购物车数量的badge的角标.

"首页添加至购物车,TabBar显示购物车的数量"实现-LMLPHP

实现思路其实很简单:

就是在执行添加至购物车的操作时,发一个通知,改变Tabbar的购物车item显示购物车数量的badge的角标的显示数量.

注意: 当为0时,要置为nil,否则会显示0的,这样是不可以的.

实现的主要代码如下 :

// 接受通知
- (void)addNotification{
[AJNotification addObserver:self selector:@selector(IncreaseShoppingCart) name:LFBShopCarBuyNumberDidChangeNotification object:nil];
} // 接收通知的操作
- (void)IncreaseShoppingCart{
UIViewController *shoppingVC = self.childViewControllers[];
NSInteger shoppingIndex = [[AJUserShopCarTool sharedInstance]getShopCarGoodsNumber];
if (shoppingIndex == ) {
shoppingVC.tabBarItem.badgeValue = nil;
return;
}
shoppingVC.tabBarItem.badgeValue = [NSString stringWithFormat:@"%zd",shoppingIndex];
} // 注销通知
- (void)dealloc{
[AJNotification removeObserver:self];
}
05-11 22:57