95 lines
3.1 KiB
Objective-C
95 lines
3.1 KiB
Objective-C
//
|
|
// 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;
|
|
@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.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.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") 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;
|
|
UIImage *image = [UIImage imageWithColor:[UIColor colorWithWhite:0 alpha:0.6]];
|
|
_bgImageView.image = [UIImage setBlurImage:image value:1];
|
|
}
|
|
return _bgImageView;
|
|
}
|
|
- (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
|