// // YMRoomActivityPlayView.m // YUMI // // Created by YUMI on 2022/9/30. // #import "XPRoomActivityPlayView.h" ///Third #import #import "YUMIMacroUitls.h" #import "DJDKMIMOMColor.h" #import "UIImage+Utils.h" ///Model #import "XPRoomActivityPlayModel.h" #import "NetImageView.h" @interface XPRoomActivityPlayView() @property (nonatomic, strong) UIButton *moreButton; @end @implementation XPRoomActivityPlayView - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { [self initSubViews]; [self initSubViewConstraints]; } return self; } - (void)layoutSubviews { [super layoutSubviews]; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.moreButton.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:CGSizeMake(8, 8)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = self.moreButton.bounds; maskLayer.path = maskPath.CGPath; self.moreButton.layer.mask = maskLayer; } #pragma mark - Private Method - (void)initSubViews { [self addSubview:self.moreButton]; } - (void)initSubViewConstraints { [self.moreButton mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.bottom.mas_equalTo(self); make.width.mas_equalTo(18); }]; } - (void)moreButtonAction:(UIButton *)sender { if (self.frame.size.width > 18) { if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomActivityPlayViewHideMorePlay)]) { [self.delegate xPRoomActivityPlayViewHideMorePlay]; } } else { if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomActivityPlayViewShowMorePlay)]) { [self.delegate xPRoomActivityPlayViewShowMorePlay]; } } } - (void)imageTapRecognizer:(UITapGestureRecognizer *)ges { if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomActivityPlayViewDidClickPlay:)]) { XPRoomActivityPlayModel *model = self.playArray[ges.view.tag]; [self.delegate xPRoomActivityPlayViewDidClickPlay:model]; } } - (void)setPlayArray:(NSMutableArray *)playArray { _playArray = playArray; if (playArray.count) { CGFloat itemWidth = 45; for (int i = 0; i