AS_TabBarViewController.m 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. AViewController *cartv = [AViewController new];
  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. - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
  53. if ([viewController isKindOfClass:QMUINavigationController.class]) {
  54. QMUINavigationController *nav = (QMUINavigationController *)viewController;
  55. UIViewController *vc = nav.qmui_rootViewController;
  56. if ([vc isKindOfClass:[CTMediator.sharedInstance categoryListVcClass]]) {
  57. UIViewController *vc1 = [[CTMediator sharedInstance] getCategoryListVc:@{}];
  58. [self.selectedViewController pushViewController:vc1 animated:true];
  59. return false;
  60. }
  61. if ([vc isKindOfClass:[CTMediator.sharedInstance userCenterVcClass]]) {
  62. if (![ASUserInfoManager.shared isLogin]) {
  63. UIViewController *loginC = [[CTMediator sharedInstance] Login_LoginC:@{}];
  64. QMUINavigationController *uikitNavController = [[QMUINavigationController alloc] initWithRootViewController:loginC];
  65. uikitNavController.navigationBar.hidden = YES;
  66. uikitNavController.modalPresentationStyle =UIModalPresentationFullScreen;
  67. [self.selectedViewController presentViewController:uikitNavController animated:YES completion:nil];
  68. return false;
  69. } else {
  70. [ASUserInfoManager.shared getInfo];
  71. }
  72. }
  73. }
  74. return true;
  75. }
  76. @end