// // LDGoodCollectionCell.m // YouHuiProject // // Created by 小花 on 2018/1/18. // Copyright © 2018年 kuxuan. All rights reserved. // #import "LDGoodCollectionCell.h" #import "LDGoodTagsView.h" @interface LDGoodCollectionCell () @property (nonatomic, strong) UIImageView *imgView; //大图 @property (nonatomic, strong) YYLabel *titleLabel; //标题 @property (nonatomic, strong) YYLabel *priceLabel; //原价 @property (nonatomic, strong) UILabel *saleCount; // 月销量 @property (nonatomic, strong) YYLabel *disPriceL; // 优惠后价格 @property (nonatomic, strong) UIImageView *ticketNumber; // @property (nonatomic, strong) UILabel *totalCount; // 总件数 @property (nonatomic, strong) UILabel *zheKou; // 几折,或者几元券 @property (nonatomic, strong) UILabel *ticketType; @property (nonatomic, strong) UILabel *volum; @property (nonatomic, strong) LDGoodTagsView *tagsView; @property (nonatomic, strong) YYLabel *shopInfo; @property (nonatomic, strong) UIView *commissionBg; @property (nonatomic, strong) UILabel *commissionLabel; @property (nonatomic, strong) UILabel *redpriceLabel;//红包 @property (nonatomic, strong) UIImageView *redImgV; @end @implementation LDGoodCollectionCell - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.layer.cornerRadius = 6; self.layer.masksToBounds = YES; self.contentView.backgroundColor = [UIColor whiteColor]; [self initSubViews]; } return self; } - (void)initSubViews { [self.contentView addSubview:self.imgView]; [self.contentView addSubview:self.titleLabel]; [self.contentView addSubview:self.disPriceL]; [self.contentView addSubview:self.ticketNumber]; [self.ticketNumber addSubview:self.ticketType]; [self.ticketNumber addSubview:self.zheKou]; [self.contentView addSubview:self.saleCount]; [self.contentView addSubview:self.shopInfo]; [self.commissionBg addSubview:self.commissionLabel]; [self.contentView addSubview:self.commissionBg]; [self.contentView addSubview:self.volum]; [self.contentView addSubview:self.redpriceLabel]; [self.contentView addSubview:self.redImgV]; [self.imgView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.top.mas_equalTo(0); make.height.mas_equalTo((SCREEN_WIDTH-5)/2.f); }]; [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(10); make.right.mas_equalTo(-10); make.top.mas_equalTo(self.imgView.mas_bottom).mas_offset(4); }]; [self.shopInfo mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.titleLabel.mas_left); make.right.mas_equalTo(-10); make.top.mas_equalTo(self.imgView.mas_bottom).mas_offset(45); }]; [self.disPriceL mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.titleLabel.mas_left).mas_offset(-2); make.top.mas_equalTo(self.shopInfo.mas_bottom).mas_offset(5); }]; [self.volum mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.disPriceL.mas_right).mas_offset(10); make.centerY.mas_equalTo(self.disPriceL.mas_centerY); }]; [self.ticketNumber mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.titleLabel.mas_left); make.width.mas_equalTo(78); make.height.mas_equalTo(15); make.bottom.mas_equalTo(-7); }]; [self.ticketType mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.bottom.mas_equalTo(0); make.width.mas_equalTo(20); }]; [self.zheKou mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.ticketType.mas_right); make.top.mas_equalTo(0); make.height.mas_equalTo(14); make.width.mas_equalTo(44); }]; [self.redImgV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.disPriceL.mas_bottom).mas_offset(5); make.left.mas_equalTo(self.titleLabel.mas_left); make.width.mas_equalTo(13); make.height.mas_equalTo(15); }]; [self.redpriceLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.disPriceL.mas_bottom).mas_offset(5); make.left.mas_equalTo(self.redImgV.mas_right); make.height.mas_equalTo(15); make.width.mas_equalTo(65); }]; [self.commissionBg mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.redpriceLabel.mas_right).offset(30); make.width.mas_equalTo(65); make.height.mas_equalTo(15); make.top.mas_equalTo(self.disPriceL.mas_bottom).mas_offset(5); }]; [self.commissionLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(UIEdgeInsetsMake(0, 0, 0, 0)); }]; } - (void)setModel:(LDChildGoodModel *)model { _model = model; //标题 NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@",model.title]]; attri.yy_font = [UIFont boldSystemFontOfSize:14]; attri.yy_color = [UIColor blackColor]; attri.yy_lineSpacing = 6; self.titleLabel.attributedText = attri; [self.imgView sd_setFadeImageWithURL:[NSURL URLWithString:model.img] placeholderImage:nil options:0 progress:nil completed:nil]; NSString *price = [NSString stringWithFormat:@"¥%.2f",[model.price floatValue]]; NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:price]; attrStr.yy_font = [UIFont systemFontOfSize:11]; attrStr.yy_color = [UIColor YHColorWithHex:0x999999]; YYTextDecoration *decoration = [YYTextDecoration decorationWithStyle:YYTextLineStyleSingle width:@1 color:[UIColor YHColorWithHex:0x999999]]; [attrStr yy_setTextStrikethrough:decoration range:NSMakeRange(0, price.length)]; self.priceLabel.attributedText = attrStr; self.volum.text = [NSString stringWithFormat:@"月销 %@",model.volume];\ self.redImgV.hidden=NO; self.redpriceLabel.hidden=NO; self.commissionBg.hidden=NO; if ([model.is_coupon boolValue]) { self.ticketNumber.hidden=NO; }else{ self.ticketNumber.hidden=YES; } if (model.red_active_status.integerValue == 1) {//有红包的时候 self.redpriceLabel.text=[NSString stringWithFormat:@" %@元红包 ",model.red_active_money]; if (model.commission_price.length>0 ) {//有返佣金 [self.commissionBg mas_updateConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.redpriceLabel.mas_right).offset(30); }]; }else{ self.commissionBg.hidden=YES; } }else{//没有红包的时候 self.redImgV.hidden=YES; self.redpriceLabel.hidden=YES; if (model.commission_price.length>0 ) {//有返佣金 [self.commissionBg mas_updateConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.titleLabel.mas_left); }]; }else{ self.commissionBg.hidden=YES; } } //店铺信息 if (model.shop_title.length > 0) { UIImage *img; if ([model.shop_type isEqualToString:@"1"]) { img= [UIImage imageNamed:@"tm_shop"]; }else { img= [UIImage imageNamed:@"taobao_shop"]; } YYAnimatedImageView *imgeView = [[YYAnimatedImageView alloc] initWithImage:img]; imgeView.frame = CGRectMake(0, 0, 15, 15); NSMutableAttributedString *shopAtti = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@" %@",model.shop_title]]; NSMutableAttributedString *mua = [NSMutableAttributedString yy_attachmentStringWithContent:imgeView contentMode:UIViewContentModeScaleAspectFit attachmentSize:imgeView.frame.size alignToFont:[UIFont systemFontOfSize:14] alignment:YYTextVerticalAlignmentCenter]; [shopAtti insertAttributedString:mua atIndex:0]; shopAtti.yy_font = [UIFont systemFontOfSize:12]; shopAtti.yy_color = [UIColor YHColorWithHex:0x9B9B9B]; self.shopInfo.attributedText = shopAtti; self.shopInfo.hidden = NO; }else { self.shopInfo.hidden = YES; } //折后价 NSString *disStr; if ([model.is_coupon boolValue]) { disStr = [NSString stringWithFormat:@"¥%.2f",[model.discount_price floatValue]]; self.zheKou.text = [NSString stringWithFormat:@"%@元",model.coupon_price]; self.ticketType.text = @"券"; }else { disStr = [NSString stringWithFormat:@"¥%.2f",[model.discount_price floatValue]]; self.zheKou.text = [NSString stringWithFormat:@"%@折",model.coupon_price]; self.ticketType.text = @"折"; } CGFloat width = [model.is_coupon boolValue] ? 64 : 0; // [self.ticketNumber mas_updateConstraints:^(MASConstraintMaker *make) { // make.width.mas_equalTo(width); // }]; //券后价格 NSMutableAttributedString *disAttr = [[NSMutableAttributedString alloc] initWithString:disStr]; [disAttr yy_setFont:[UIFont systemFontOfSize:16] range:NSMakeRange(0, disStr.length)]; disAttr.yy_color = [UIColor homeRedColor]; self.disPriceL.attributedText = disAttr; self.commissionLabel.text = [NSString stringWithFormat:@"返¥%.2f",[model.commission_price floatValue]]; // 预估佣金视图 //券的位置 [self.ticketNumber mas_updateConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(width); }]; // // 预估佣金视图 // if (model.commission_price.floatValue>0) {//判断是否有预估佣金, // // [self.ticketNumber mas_updateConstraints:^(MASConstraintMaker *make) { // // if (model.red_active_status.integerValue == 1) { // make.left.mas_equalTo(self.redpriceLabel.mas_right).mas_offset(85); // }else{ // make.left.mas_equalTo(self.redpriceLabel.mas_right).mas_offset(75); // } // }]; // [self.commissionBg mas_updateConstraints:^(MASConstraintMaker *make) { // if (model.red_active_status.integerValue == 1) { // make.left.mas_equalTo(self.redpriceLabel.mas_right).mas_offset(10); // }else{ // make.left.mas_equalTo(self.redpriceLabel.mas_right).mas_offset(0); // } // // }]; // }else { // [self.ticketNumber mas_updateConstraints:^(MASConstraintMaker *make) { // make.left.mas_equalTo(self.redpriceLabel.mas_right).mas_offset(5); // }]; // } // // self.commissionBg.hidden = !(model.commission_price.length>0); // // self.ticketNumber.hidden = ![model.is_coupon boolValue]; } - (UIImageView *)imgView { if (!_imgView) { _imgView = [[UIImageView alloc] init]; _imgView.backgroundColor = [UIColor YHColorWithHex:0xf0f0f0]; } return _imgView; } - (YYLabel *)titleLabel { if (!_titleLabel) { _titleLabel = [[YYLabel alloc] init]; _titleLabel.displaysAsynchronously = YES; _titleLabel.font = [UIFont boldSystemFontOfSize:14]; _titleLabel.textColor = [UIColor blackColor]; _titleLabel.numberOfLines = 2; _titleLabel.preferredMaxLayoutWidth = SCREEN_WIDTH/2-Fitsize(20); } return _titleLabel; } - (YYLabel *)priceLabel { if (!_priceLabel) { _priceLabel = [[YYLabel alloc] init]; _priceLabel.displaysAsynchronously = YES; _priceLabel.font = [UIFont systemFontOfSize:11]; _priceLabel.textColor = [UIColor YHColorWithHex:0x999999]; } return _priceLabel; } - (UILabel *)saleCount { if (!_saleCount) { _saleCount = [[UILabel alloc] init]; _saleCount.font = [UIFont systemFontOfSize:10]; _saleCount.textColor = [UIColor YHColorWithHex:0x999999]; _saleCount.textAlignment = NSTextAlignmentRight; _saleCount.hidden = YES; } return _saleCount; } - (YYLabel *)disPriceL { if (!_disPriceL) { _disPriceL = [[YYLabel alloc] init]; _disPriceL.displaysAsynchronously = YES; _disPriceL.font = [UIFont systemFontOfSize:16]; _disPriceL.textColor = [UIColor homeRedColor]; } return _disPriceL; } - (UIImageView *)ticketNumber { if (!_ticketNumber) { _ticketNumber = [[UIImageView alloc] init]; _ticketNumber.image = [UIImage imageNamed:@"quan_bg"]; } return _ticketNumber; } - (UILabel *)totalCount { if (!_totalCount) { _totalCount = [[UILabel alloc] init]; _totalCount.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6]; _totalCount.layer.cornerRadius = 3; _totalCount.font = [UIFont systemFontOfSize:10]; _totalCount.textAlignment = NSTextAlignmentCenter; _totalCount.textColor = [UIColor YHColorWithHex:0xffffff]; } return _totalCount; } - (UILabel *)zheKou { if (!_zheKou) { _zheKou = [[UILabel alloc] init]; _zheKou.textColor = [UIColor homeRedColor]; _zheKou.textAlignment = NSTextAlignmentCenter; _zheKou.font = [UIFont systemFontOfSize:10]; } return _zheKou; } - (UILabel *)ticketType { if (!_ticketType) { _ticketType = [[UILabel alloc] init]; _ticketType.font = [UIFont systemFontOfSize:10]; _ticketType.textAlignment = NSTextAlignmentCenter; _ticketType.textColor = [UIColor homeRedColor]; } return _ticketType; } - (YYLabel *)shopInfo { if (!_shopInfo) { _shopInfo = [[YYLabel alloc] init]; _shopInfo.displaysAsynchronously = YES; _shopInfo.font = [UIFont systemFontOfSize:12]; _shopInfo.textColor = [UIColor YHColorWithHex:0x9B9B9B]; } return _shopInfo; } - (UIView *)commissionBg { if (!_commissionBg) { _commissionBg = [[UIView alloc] init]; _commissionBg.backgroundColor = [UIColor YHColorWithHex:0xFFF4DF]; } return _commissionBg; } - (UILabel *)commissionLabel { if (!_commissionLabel) { _commissionLabel = [[UILabel alloc] init]; _commissionLabel.textColor = [UIColor YHColorWithHex:0x99520F]; _commissionLabel.font = [UIFont systemFontOfSize:10]; _commissionLabel.textAlignment = NSTextAlignmentCenter; } return _commissionLabel; } - (UILabel *)volum { if (!_volum) { _volum = [[UILabel alloc] init]; _volum.textColor = [UIColor YHColorWithHex:0xBBB9BB]; _volum.font = [UIFont systemFontOfSize:10]; } return _volum; } //- (LDGoodTagsView *)tagsView { // if (!_tagsView) { // _tagsView = [[LDGoodTagsView alloc] init]; // } // return _tagsView; //} -(UIImageView *)redImgV { if (!_redImgV) { _redImgV = [[UIImageView alloc] init]; // _redImgV.backgroundColor=[UIColor redColor]; _redImgV.image = [UIImage imageNamed:@"red_detail"]; } return _redImgV; } -(UILabel *)redpriceLabel { if (!_redpriceLabel) { _redpriceLabel = [[UILabel alloc] init]; _redpriceLabel.textColor = [UIColor YHColorWithHex:0x99520F]; _redpriceLabel.backgroundColor=[UIColor YHColorWithHex:0xFFF4DF]; _redpriceLabel.font = [UIFont systemFontOfSize:10]; _redpriceLabel.textAlignment = NSTextAlignmentCenter; } return _redpriceLabel; } @end