Tabbar

一.系统消息小红点

使用UITabbar+Badge

在UITabBarController实现以下方法

-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];

[self.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

if ([obj isKindOfClass:[GPLxiaoxiViewController class]]) {

GPLxiaoxiViewController *chatListVC = (GPLxiaoxiViewController *)obj;

[chatListVC updateExplorBadgeValueForTabBarItem];

}

if ([obj isKindOfClass:[ExploreViewController class]]) {

ExploreViewController *ExploreVC = (ExploreViewController *)obj;

[ExploreVC updateExplorBadgeValueForTabBarItem];

}

}];

}

在对应viewcontroller中实现对应方法

-(void)updateExplorBadgeValueForTabBarItem

{

__weak typeof(self) __weakSelf = self;

dispatch_async(dispatch_get_main_queue(), ^{

NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

NSDictionary *userDic = [user objectForKey:@"UserInfoDic"];

NSString *selfStr = [userDic objectForKey:@"user_id"];

NSString *keyStr1 = [NSString stringWithFormat:@"usermakeorder%@",selfStr];

NSString *keyStr2 = [NSString stringWithFormat:@"sellergetorder%@",selfStr];

NSString *str1 = [user objectForKey:keyStr1];

NSString *str2 = [user objectForKey:keyStr2];

if ([str1 isEqualToString:@"用户向附近商户下单"])

{

[__weakSelf.tabBarController.tabBar showBadgeOnItemIndex:3 badgeValue:10086];

}else if ([str2 isEqualToString:@"有商户接单"])

{

[__weakSelf.tabBarController.tabBar showBadgeOnItemIndex:3 badgeValue:10086];

}
else {

[__weakSelf.tabBarController.tabBar hideBadgeOnItemIndex:3];

}

});

}

二.设置tabbar图标渲染模式

for (UITabBarItem *item in self.tabBar.items) {

item.selectedImage = [item.selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

item.image = [item.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

//item.title

}

你可能感兴趣的:(Tabbar)