ZFTableHeaderView.m 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // ZFTableHeaderView.m
  3. // ZFPlayer_Example
  4. //
  5. // Created by 紫枫 on 2018/10/30.
  6. // Copyright © 2018 紫枫. All rights reserved.
  7. //
  8. #import "ZFTableHeaderView.h"
  9. //#import <ZFPlayer/UIView+ZFFrame.h>
  10. #import "NSString+Size.h"
  11. @interface ZFTableHeaderView ()
  12. @property (nonatomic, strong) UIImageView *coverImageView;
  13. @property (nonatomic, strong) UIButton *playBtn;
  14. @property (nonatomic, strong) NSIndexPath *indexPath;
  15. @end
  16. @implementation ZFTableHeaderView
  17. - (instancetype)initWithFrame:(CGRect)frame {
  18. self = [super initWithFrame:frame];
  19. if (self) {
  20. [self addSubview:self.coverImageView];
  21. [self.coverImageView addSubview:self.playBtn];
  22. self.backgroundColor = [UIColor blackColor];
  23. }
  24. return self;
  25. }
  26. - (void)layoutSubviews {
  27. [super layoutSubviews];
  28. CGFloat min_x = 0;
  29. CGFloat min_y = 0;
  30. CGFloat min_w = 0;
  31. CGFloat min_h = 0;
  32. self.coverImageView.frame = self.bounds;
  33. min_w = 44;
  34. min_h = min_w;
  35. min_x = (CGRectGetWidth(self.coverImageView.frame)-min_w)/2;
  36. min_y = (CGRectGetHeight(self.coverImageView.frame)-min_h)/2;
  37. self.playBtn.frame = CGRectMake(min_x, min_y, min_w, min_h);
  38. }
  39. - (void)playBtnClick:(UIButton *)sender {
  40. if (self.playCallback) {
  41. self.playCallback();
  42. }
  43. }
  44. #pragma mark - getter
  45. - (UIButton *)playBtn {
  46. if (!_playBtn) {
  47. _playBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  48. [_playBtn setImage:[UIImage imageNamed:@"new_allPlay_44x44_"] forState:UIControlStateNormal];
  49. [_playBtn addTarget:self action:@selector(playBtnClick:) forControlEvents:UIControlEventTouchUpInside];
  50. }
  51. return _playBtn;
  52. }
  53. - (UIImageView *)coverImageView {
  54. if (!_coverImageView) {
  55. _coverImageView = [[UIImageView alloc] init];
  56. _coverImageView.userInteractionEnabled = YES;
  57. _coverImageView.tag = kPlayerViewTag;
  58. _coverImageView.contentMode = UIViewContentModeScaleAspectFill;
  59. _coverImageView.clipsToBounds = YES;
  60. _coverImageView.image = [UIImage imageNamed:@"loading_bgView"];
  61. }
  62. return _coverImageView;
  63. }
  64. @end