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

}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容