// // YMInvitationBreakdownListCell.m // MSYOUPAI // // Created by YoMi on 2024/3/14. // Copyright © 2024 MS. All rights reserved. // #import "YMInvitationBreakdownListInvitingEarningsCell.h" #import "YMInvitationBreakdownListCellViewModel.h" @interface YMInvitationBreakdownListInvitingEarningsCell () /// 邀请明细VM @property (nonatomic, strong) YMInvitationBreakdownListCellViewModel *viewModel; /// 基础视图 @property (nonatomic, strong) UIView *baseView; /// 用户头像视图 @property (nonatomic, strong) UIImageView *userAvatarView; /// 用户昵称标签 @property (nonatomic, strong) UILabel *userNicknameLb; /// 用户收支明细日期标签 @property (nonatomic, strong) UILabel *userInvitationEarningsDateLb; /// 用户收支明细描述标签 @property (nonatomic, strong) UILabel *userInvitationEarningsDescLb; /// 用户收支明细金额标签 @property (nonatomic, strong) UILabel *userInvitationEarningsAmountLb; @end @implementation YMInvitationBreakdownListInvitingEarningsCell - (void)awakeFromNib { [super awakeFromNib]; // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (void)ym_setupViews{ [self.contentView addSubview:self.baseView]; [self.baseView addSubview:self.userAvatarView]; [self.baseView addSubview:self.userNicknameLb]; [self.baseView addSubview:self.userInvitationEarningsDateLb]; [self.baseView addSubview:self.userInvitationEarningsDescLb]; [self.baseView addSubview:self.userInvitationEarningsAmountLb]; [self setNeedsUpdateConstraints]; [self updateConstraintsIfNeeded]; } - (void)updateConstraints{ [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.contentView).offset(adapt(10)); make.left.equalTo(self.contentView).offset(adapt(10)); make.right.equalTo(self.contentView).offset(adapt(-10)); make.bottom.equalTo(self.contentView); }]; [self.userAvatarView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self.baseView.mas_centerY); make.left.equalTo(self.baseView).offset(adapt(12)); make.width.height.mas_equalTo(adapt(50)); }]; [self.userNicknameLb mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.userAvatarView.mas_centerY).offset(adapt(-5)); make.left.equalTo(self.userAvatarView.mas_right).offset(adapt(8)); }]; [self.userInvitationEarningsDateLb mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.userAvatarView.mas_centerY).offset(adapt(5)); make.left.equalTo(self.userAvatarView.mas_right).offset(adapt(8)); }]; [self.userInvitationEarningsDescLb mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self.userNicknameLb.mas_centerY); make.left.equalTo(self.userNicknameLb.mas_right).offset(adapt(8)); make.right.equalTo(self.baseView).offset(adapt(-12)); }]; [self.userInvitationEarningsAmountLb mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.userInvitationEarningsDateLb.mas_bottom); make.left.equalTo(self.userInvitationEarningsDateLb.mas_right).offset(adapt(8)); make.right.equalTo(self.baseView).offset(adapt(-12)); }]; [super updateConstraints]; } - (void)ym_bindViewModel:(YMInvitationBreakdownListCellViewModel *)viewModel{ if (!viewModel) { return; } _viewModel = viewModel; [self.userAvatarView sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.viewModel.userAvatar]]; self.userNicknameLb.text = self.viewModel.userNickname; self.userInvitationEarningsDateLb.text = self.viewModel.userInvitationEarningsDate; self.userInvitationEarningsDescLb.text = self.viewModel.userInvitationEarningsDesc; self.userInvitationEarningsAmountLb.attributedText = self.viewModel.userInvitationEarningsAmount; } - (UIView *)baseView{ if (!_baseView) { _baseView = [[UIView alloc]init]; _baseView.backgroundColor = HexColorFromRGB(0xf6f6f6); _baseView.layer.cornerRadius = adapt(10); _baseView.layer.masksToBounds = YES; } return _baseView; } - (UIImageView *)userAvatarView{ if (!_userAvatarView) { _userAvatarView = [[UIImageView alloc]init]; _userAvatarView.layer.cornerRadius = adapt(50)/2; _userAvatarView.layer.masksToBounds = YES; } return _userAvatarView; } - (UILabel *)userNicknameLb{ if (!_userNicknameLb) { _userNicknameLb = [[UILabel alloc]init]; _userNicknameLb.font = LCFont(16); _userNicknameLb.textColor = HexColorFromRGB(0x333333); _userNicknameLb.textAlignment = NSTextAlignmentLeft; _userNicknameLb.text = @"******"; /** *抗拉伸 setContentHuggingPriority(值越高,越不容易拉伸) */ [_userNicknameLb setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; /** *抗压缩 setContentCompressionResistancePriority(值越高,越不容易压缩) **/ [_userNicknameLb setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; } return _userNicknameLb; } - (UILabel *)userInvitationEarningsDateLb{ if (!_userInvitationEarningsDateLb) { _userInvitationEarningsDateLb = [[UILabel alloc]init]; _userInvitationEarningsDateLb.font = LCFont(12); _userInvitationEarningsDateLb.textColor = HexColorFromRGB(0x999999); _userInvitationEarningsDateLb.textAlignment = NSTextAlignmentLeft; _userInvitationEarningsDateLb.text = @"*****"; /** *抗拉伸 setContentHuggingPriority(值越高,越不容易拉伸) */ [_userInvitationEarningsDateLb setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; /** *抗压缩 setContentCompressionResistancePriority(值越高,越不容易压缩) **/ [_userInvitationEarningsDateLb setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; } return _userInvitationEarningsDateLb; } - (UILabel *)userInvitationEarningsDescLb{ if (!_userInvitationEarningsDescLb) { _userInvitationEarningsDescLb = [[UILabel alloc]init]; _userInvitationEarningsDescLb.font = LCFont(13); _userInvitationEarningsDescLb.textColor = HexColorFromRGB(0x333333); _userInvitationEarningsDescLb.textAlignment = NSTextAlignmentRight; _userInvitationEarningsDescLb.text = @"*****"; /** *抗拉伸 setContentHuggingPriority(值越高,越不容易拉伸) */ [_userInvitationEarningsDescLb setContentHuggingPriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal]; /** *抗压缩 setContentCompressionResistancePriority(值越高,越不容易压缩) **/ [_userInvitationEarningsDescLb setContentCompressionResistancePriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal]; } return _userInvitationEarningsDescLb; } - (UILabel *)userInvitationEarningsAmountLb{ if (!_userInvitationEarningsAmountLb) { _userInvitationEarningsAmountLb = [[UILabel alloc]init]; _userInvitationEarningsAmountLb.font = LCFont(16); _userInvitationEarningsAmountLb.textColor = HexColorFromRGB(0x333333); _userInvitationEarningsAmountLb.textAlignment = NSTextAlignmentRight; _userInvitationEarningsAmountLb.text = @"****"; /** *抗拉伸 setContentHuggingPriority(值越高,越不容易拉伸) */ [_userInvitationEarningsAmountLb setContentHuggingPriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal]; /** *抗压缩 setContentCompressionResistancePriority(值越高,越不容易压缩) **/ [_userInvitationEarningsAmountLb setContentCompressionResistancePriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal]; } return _userInvitationEarningsAmountLb; } @end