AS_TabBarViewController.m 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //
  2. // AS_TabBarViewController.m
  3. // Asteria
  4. //
  5. // Created by 王猛 on 2023/5/6.
  6. //
  7. //
  8. #import "AS_TabBarViewController.h"
  9. #import <UCMBaseC.h>
  10. #import "AViewController.h"
  11. @interface AS_TabBarViewController ()<UITabBarControllerDelegate>
  12. @end
  13. @implementation AS_TabBarViewController
  14. - (void)didInitialize {
  15. [super didInitialize];
  16. self.tabBar.backgroundColor = UIColor.whiteColor;
  17. self.tabBar.unselectedItemTintColor = Col_666;
  18. self.tabBar.tintColor = _1CBC9D;
  19. UIViewController *vc1 = [[CTMediator sharedInstance] getCategoryListVc:@{}];
  20. UIViewController *vc2 = [[CTMediator sharedInstance] getHomeVc:@{}];
  21. UIViewController *cartv = [CTMediator.sharedInstance Cart_MyCartC:@{}];
  22. UIViewController *vc3 = [[CTMediator sharedInstance] getUserCenterVc:@{}];
  23. NSArray *vcAry = @[vc2, vc1, cartv, vc3];
  24. NSArray *titleArr = @[@"SHOP",@"CATEGORY",@"CART", @"ME"];
  25. NSArray *imgArr = @[@"tab_home", @"tab_category", @"tab_cart",@"tab_me"];
  26. NSArray *selimgArr = @[@"tab_home_sel", @"tab_category_sel",@"tab_cart_sel" , @"tab_me_sel"];
  27. NSMutableArray *tabvcAry = [[NSMutableArray alloc]init];
  28. for (int i= 0; i<titleArr.count; i++) {
  29. QMUINavigationController *uikitNavController = [[QMUINavigationController alloc] initWithRootViewController:vcAry[i]];
  30. UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTitle:titleArr[i] image:[UIImageMake(imgArr[i]) imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] tag:i];
  31. if (i == 2) {
  32. tabBarItem.qmui_badgeFont = [UIFont fontWithName:Rob_Regular size:11];
  33. tabBarItem.qmui_badgeOffset = CGPointMake(-8, 13);
  34. tabBarItem.qmui_badgeContentEdgeInsets = UIEdgeInsetsMake(3, 3, 3, 3);
  35. tabBarItem.qmui_badgeInteger = 0;
  36. tabBarItem.qmui_badgeTextColor = Col_FFF;
  37. tabBarItem.qmui_badgeBackgroundColor = Col_000;
  38. }
  39. tabBarItem.selectedImage = [UIImageMake(selimgArr[i]) imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
  40. uikitNavController.tabBarItem = tabBarItem;
  41. [tabvcAry addObject:uikitNavController];
  42. }
  43. self.viewControllers = tabvcAry;
  44. self.delegate = self;
  45. }
  46. - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
  47. // if (self.tabBar.items.count > 2) {
  48. // UITabBarItem *temp = self.tabBar.items[2];
  49. // temp.qmui_badgeInteger = arc4random()%100;
  50. //
  51. // }
  52. }
  53. - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
  54. if ([viewController isKindOfClass:QMUINavigationController.class]) {
  55. QMUINavigationController *nav = (QMUINavigationController *)viewController;
  56. UIViewController *vc = nav.qmui_rootViewController;
  57. if ([vc isKindOfClass:[CTMediator.sharedInstance categoryListVcClass]]) {
  58. UIViewController *vc1 = [[CTMediator sharedInstance] getCategoryListVc:@{}];
  59. [self.selectedViewController pushViewController:vc1 animated:true];
  60. return false;
  61. }
  62. if ([vc isKindOfClass:[CTMediator.sharedInstance userCenterVcClass]]) {
  63. if (![ASUserInfoManager.shared isLogin]) {
  64. [Fuction_Tool pop_toLoginVC];
  65. return false;
  66. }
  67. // else {
  68. // dispatch_async(dispatch_get_main_queue(), ^{
  69. // [ASUserInfoManager.shared getInfo];
  70. // });
  71. // }
  72. }else if ([vc isKindOfClass:[[CTMediator.sharedInstance Cart_MyCartC:@{}] class]]){
  73. if (![ASUserInfoManager.shared isLogin]) {
  74. [Fuction_Tool pop_toLoginVC];
  75. return false;
  76. }
  77. }
  78. }
  79. return true;
  80. }
  81. @end