UphotOrderVC.m 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. //
  2. // UphotOrderVC.m
  3. // YBVideo
  4. //
  5. // Created by ybRRR on 2023/7/13.
  6. // Copyright © 2023 cat. All rights reserved.
  7. //
  8. #import "UphotOrderVC.h"
  9. #import <TYTabPagerBar.h>
  10. #import <TYPagerController.h>
  11. #import "HotVideoDetailVC.h"
  12. #import "LiveOrderDetailVC.h"
  13. @interface UphotOrderVC ()<TYTabPagerBarDelegate,TYTabPagerBarDataSource,TYPagerControllerDelegate,TYPagerControllerDataSource>
  14. @property(nonatomic,strong)TYTabPagerBar *tabBar;
  15. @property(nonatomic,strong)TYPagerController *pagerController;
  16. @property(nonatomic,strong)NSArray *dataArray;
  17. @end
  18. @implementation UphotOrderVC
  19. - (void)viewDidLoad {
  20. self.naviView.hidden = YES;
  21. CGFloat cellSpace = 40;
  22. if (![lagType isEqual:ZH_CN]) {
  23. cellSpace = 0;
  24. }
  25. _dataArray = @[YZMsg(@"视频明细"),YZMsg(@"直播明细")];
  26. [super viewDidLoad];
  27. TYTabPagerBar *tabBar = [[TYTabPagerBar alloc]init];
  28. tabBar.dataSource = self;
  29. tabBar.delegate = self;
  30. tabBar.layout.barStyle = TYPagerBarStyleProgressView;
  31. tabBar.layout.selectedTextColor = UIColor.whiteColor;
  32. tabBar.layout.normalTextColor = UIColor.whiteColor;
  33. tabBar.layout.selectedTextFont = [UIFont boldSystemFontOfSize:17];
  34. tabBar.layout.normalTextFont = [UIFont boldSystemFontOfSize:14];
  35. tabBar.layout.progressColor = UIColor.clearColor;
  36. tabBar.layout.progressHeight = 4;
  37. tabBar.layout.progressRadius = 2;
  38. tabBar.layout.progressHorEdging = 10;
  39. tabBar.layout.progressVerEdging = 5;
  40. tabBar.layout.cellWidth = 0;
  41. tabBar.layout.cellSpacing = cellSpace;
  42. tabBar.layout.adjustContentCellsCenter = YES;
  43. tabBar.backgroundColor = UIColor.clearColor;
  44. tabBar.frame = CGRectMake(60, 24+statusbarHeight, _window_width-120, 40);
  45. [tabBar registerClass:[TYTabPagerBarCell class] forCellWithReuseIdentifier:[TYTabPagerBarCell cellIdentifier]];
  46. [self.naviView addSubview:tabBar];
  47. _tabBar = tabBar;
  48. TYPagerController *pagerController = [[TYPagerController alloc] init];
  49. pagerController.dataSource = self;
  50. pagerController.delegate = self;
  51. pagerController.layout.adjustScrollViewInset = NO;
  52. pagerController.layout.scrollView.backgroundColor = Normal_Color;
  53. pagerController.view.frame = CGRectMake(0, 64+statusbarHeight, _window_width, _window_height-64-statusbarHeight);
  54. [self addChildViewController:pagerController];
  55. [self.view addSubview:pagerController.view];
  56. _pagerController = pagerController;
  57. [_tabBar reloadData];
  58. [_pagerController updateData];
  59. }
  60. #pragma mark - TYTabPagerBarDataSource
  61. - (NSInteger)numberOfItemsInPagerTabBar {
  62. return _dataArray.count;
  63. }
  64. - (UICollectionViewCell<TYTabPagerBarCellProtocol> *)pagerTabBar:(TYTabPagerBar *)pagerTabBar cellForItemAtIndex:(NSInteger)index {
  65. UICollectionViewCell<TYTabPagerBarCellProtocol> *cell = [pagerTabBar dequeueReusableCellWithReuseIdentifier:[TYTabPagerBarCell cellIdentifier] forIndex:index];
  66. cell.titleLabel.text = _dataArray[index];
  67. return cell;
  68. }
  69. #pragma mark - TYTabPagerBarDelegate
  70. - (CGFloat)pagerTabBar:(TYTabPagerBar *)pagerTabBar widthForItemAtIndex:(NSInteger)index {
  71. NSString *title = _dataArray[index];
  72. return [pagerTabBar cellWidthForTitle:title];
  73. }
  74. - (void)pagerTabBar:(TYTabPagerBar *)pagerTabBar didSelectItemAtIndex:(NSInteger)index {
  75. [_pagerController scrollToControllerAtIndex:index animate:YES];
  76. }
  77. #pragma mark - TYPagerControllerDataSource
  78. - (NSInteger)numberOfControllersInPagerController {
  79. return _dataArray.count;
  80. }
  81. - (UIViewController *)pagerController:(TYPagerController *)pagerController controllerForIndex:(NSInteger)index prefetching:(BOOL)prefetching {
  82. if (index == 0) {
  83. HotVideoDetailVC *videoDetail = [[HotVideoDetailVC alloc]init];
  84. return videoDetail;
  85. }else{
  86. // 收藏
  87. LiveOrderDetailVC *live = [[LiveOrderDetailVC alloc]init];
  88. return live;
  89. }
  90. }
  91. #pragma mark - TYPagerControllerDelegate
  92. - (void)pagerController:(TYPagerController *)pagerController transitionFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex animated:(BOOL)animated {
  93. [_tabBar scrollToItemFromIndex:fromIndex toIndex:toIndex animate:animated];
  94. }
  95. -(void)pagerController:(TYPagerController *)pagerController transitionFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex progress:(CGFloat)progress {
  96. [_tabBar scrollToItemFromIndex:fromIndex toIndex:toIndex progress:progress];
  97. }
  98. @end