RQVipHeaderImageViewNewReusableView.m 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // RQVipHeaderImageViewNewReusableView.m
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2022/11/9.
  6. // Copyright © 2022 JCZ. All rights reserved.
  7. //
  8. #import "RQVipHeaderImageViewNewReusableView.h"
  9. @interface RQVipHeaderImageViewNewReusableView ()
  10. @property (nonatomic, readwrite, strong) RQVipHeaderImageViewNewGroupViewModel *viewModel;
  11. @property (weak, nonatomic) IBOutlet UIImageView *headerImageView;
  12. @end
  13. @implementation RQVipHeaderImageViewNewReusableView
  14. + (instancetype)reusableViewWithCollectionView:(UICollectionView *)collectionView OfKind:(NSString *)elementKind forIndexPath:(NSIndexPath *)indexPath {
  15. NSString *ID = [NSString stringWithFormat:@"%@%@", @"RQVipHeaderImageViewNewReusableView",elementKind];
  16. [collectionView registerNib:[UINib nibWithNibName:@"RQVipHeaderImageViewNewReusableView" bundle:nil] forSupplementaryViewOfKind:elementKind withReuseIdentifier:ID];
  17. RQVipHeaderImageViewNewReusableView *reusableView = [collectionView dequeueReusableSupplementaryViewOfKind:elementKind withReuseIdentifier:ID forIndexPath:indexPath];
  18. if (!reusableView) reusableView = [self rq_viewFromXib];
  19. return reusableView;
  20. }
  21. - (void)bindViewModel:(RQVipHeaderImageViewNewGroupViewModel *)viewModel {
  22. @weakify(self)
  23. _viewModel = viewModel;
  24. [[RACObserve(viewModel, headerImageName) takeUntil:self.rac_prepareForReuseSignal] subscribeNext:^(id _Nullable x) {
  25. @strongify(self)
  26. self.headerImageView.image = RQImageNamed(viewModel.headerImageName);
  27. }];
  28. }
  29. - (void)awakeFromNib {
  30. [super awakeFromNib];
  31. // Initialization code
  32. }
  33. @end