// // PIRoomActivityClickView.m // YuMi // // Created by duoban on 2024/2/20. // #import "PIRoomActivityClickView.h" @interface PIRoomActivityClickView() @property(nonatomic,strong) UIButton *clickBtn; @property(nonatomic,strong) UIImageView *bgImageView; @property(nonatomic,strong) NetImageView *playIconView; @property (nonatomic, strong) UIVisualEffectView *effectView; @end @implementation PIRoomActivityClickView -(instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if(self){ [self installUI]; [self installConstraints]; } return self; } -(void)installUI{ [self addSubview:self.clickBtn]; [self addSubview:self.bgImageView]; [self.bgImageView addSubview:self.effectView]; [self.bgImageView addSubview:self.playIconView]; } -(void)installConstraints{ [self.clickBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.mas_equalTo(14); make.leading.centerY.equalTo(self); }]; [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.mas_equalTo(66); make.centerY.equalTo(self); make.leading.mas_equalTo(15); }]; [self.effectView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.bgImageView); }]; [self.playIconView mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.mas_equalTo(58); make.center.equalTo(self.bgImageView); }]; } - (void)setModel:(ActivityInfoModel *)model{ _model = model; [_playIconView loadImageWithUrl:_model.icon completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) { self.playIconView.image = image; }]; } -(void)clickBtnAction{ if(self.delegate && [self.delegate respondsToSelector:@selector(showChoosePlayViewAction)]){ [self.delegate showChoosePlayViewAction]; } } -(void)clickPlayImageAction{ if(self.delegate && [self.delegate respondsToSelector:@selector(clickPlayTypeWithModel:)]){ [self.delegate clickPlayTypeWithModel:self.model]; } } #pragma mark - 懒加载 - (UIButton *)clickBtn{ if(!_clickBtn){ _clickBtn = [UIButton new]; [_clickBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10]; [_clickBtn setImage:[kImage(@"pi_room_activity_click_arrow")ms_SetImageForRTL] forState:UIControlStateNormal]; [_clickBtn addTarget:self action:@selector(clickBtnAction) forControlEvents:UIControlEventTouchUpInside]; } return _clickBtn; } - (UIImageView *)bgImageView{ if(!_bgImageView){ _bgImageView = [UIImageView new]; _bgImageView.layer.cornerRadius = 7; _bgImageView.layer.masksToBounds = YES; _bgImageView.layer.borderColor = [UIColor colorWithWhite:1 alpha:0.8].CGColor; _bgImageView.layer.borderWidth = 1; _bgImageView.userInteractionEnabled = YES; } return _bgImageView; } - (UIVisualEffectView *)effectView { if (!_effectView) { UIBlurEffect *beffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; _effectView = [[UIVisualEffectView alloc] initWithEffect:beffect]; _effectView.alpha = 0.8; } return _effectView; } - (NetImageView *)playIconView{ if(!_playIconView){ _playIconView = [NetImageView new]; _playIconView.userInteractionEnabled = YES; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickPlayImageAction)]; [_playIconView addGestureRecognizer:tap]; } return _playIconView; } @end