RQHomeSubPageVideoScrollSubViewController.m 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // RQHomeSubPageVideoScrollSubViewController.m
  3. // SDJK
  4. //
  5. // Created by 张嵘 on 2021/11/11.
  6. //
  7. #import "RQHomeSubPageVideoScrollSubViewController.h"
  8. @interface RQHomeSubPageVideoScrollSubViewController ()
  9. /// viewModel
  10. @property (nonatomic, readonly, strong) RQHomeSubPageVideoScrollSubViewModel *viewModel;
  11. @end
  12. @implementation RQHomeSubPageVideoScrollSubViewController
  13. @dynamic viewModel;
  14. #pragma mark - SystemMethod
  15. - (void)viewDidLoad {
  16. [super viewDidLoad];
  17. // UIImageView *imageView = [[UIImageView alloc] initWithImage:RQWebVideoImagePlaceholder()];
  18. // imageView.frame = CGRectMake(0, 0, RQ_SCREEN_WIDTH - 32, (194.f / 345.f) * (RQ_SCREEN_WIDTH - 32));
  19. // [self.view addSubview:imageView];
  20. self.tableView.backgroundColor = UIColor.whiteColor;
  21. }
  22. #pragma mark - UITableViewDelegate & UITableViewDataSource
  23. - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
  24. !self.scrollCallback ?: self.scrollCallback(scrollView);
  25. }
  26. #pragma mark - JXPagerViewListViewDelegate
  27. - (UIView *)listView {
  28. UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
  29. [btn setBackgroundImage:[UIImage imageNamed:@"playIcon"] forState:UIControlStateNormal];
  30. btn.userInteractionEnabled = NO;
  31. UIImageView *imageView = [[UIImageView alloc] initWithImage:RQWebVideoImagePlaceholder()];
  32. imageView.userInteractionEnabled = YES;
  33. [imageView yy_setImageWithURL:[NSURL URLWithString:self.viewModel.videosItem.coverFileUrl] placeholder:RQWebVideoImagePlaceholder()];
  34. imageView.frame = CGRectMake(0, 0, RQ_SCREEN_WIDTH, RQ_FIT_HORIZONTAL(194.f));
  35. [imageView addSubview:btn];
  36. [imageView setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
  37. RQVideoDetailViewModel *videoDetailViewModel = [[RQVideoDetailViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
  38. RQViewModelUtilKey : self.viewModel.treeListModel,
  39. RQVideoItemIndexKey : @(self.viewModel.index),
  40. RQVideoItemIndexPathKey : self.viewModel.indexPath,
  41. RQHomePageSubjectTypeKey : @(self.viewModel.homePageSubjectType),
  42. }];
  43. [RQ_APPDELEGATE.services pushViewModel:videoDetailViewModel animated:YES];
  44. }];
  45. [btn mas_makeConstraints:^(MASConstraintMaker *make) {
  46. make.center.mas_equalTo(imageView);
  47. make.size.mas_equalTo(CGSizeMake(RQ_FIT_HORIZONTAL(44.f), RQ_FIT_HORIZONTAL(44.f)));
  48. }];
  49. return imageView;
  50. }
  51. - (UIScrollView *)listScrollView {
  52. return self.tableView;
  53. }
  54. - (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback {
  55. self.scrollCallback = callback;
  56. }
  57. #pragma mark - LazyLoad
  58. @end