123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- //
- // KBMyTicketCell.m
- // YouHuiProject
- //
- // Created by 小花 on 2018/1/25.
- // Copyright © 2018年 kuxuan. All rights reserved.
- //
- #import "KBMyTicketCell.h"
- @interface KBMyTicketCell ()
- @property (nonatomic, strong) UIImageView *iconView;
- @property (nonatomic, strong) UILabel *titleLabel;
- @property (nonatomic, strong) UILabel *endDateLabel;
- @property (nonatomic, strong) UILabel *priceLabel;
- @property (nonatomic, strong) UILabel *disPriceLabel;
- @property (nonatomic, strong) UIImageView *ticketImg;
- @property (nonatomic, strong) UILabel *ticketLabel;
- @property (nonatomic, strong) UILabel *endDateImg;
- @property (nonatomic, strong) UIButton *sameButton;
- @end
- @implementation KBMyTicketCell
- + (instancetype)cellWithTableView:(UITableView *)tableView {
- static NSString *cellID = nil;
- cellID = NSStringFromClass([self class]);
- KBMyTicketCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
- if (!cell) {
- cell = [[KBMyTicketCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
- }
- return cell;
-
- }
- - (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
- }
- - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
- self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
- if (self) {
- [self initSubView];
- }
- return self;
- }
- - (void)initSubView {
- [self.contentView addSubview:self.iconView];
- [self.contentView addSubview:self.titleLabel];
- [self.contentView addSubview:self.endDateLabel];
- [self.contentView addSubview:self.priceLabel];
- [self.contentView addSubview:self.disPriceLabel];
- [self.contentView addSubview:self.ticketImg];
- [self.ticketImg addSubview:self.ticketLabel];
- [self.iconView addSubview:self.endDateImg];
- [self.contentView addSubview:self.sameButton];
-
- [self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(15);
- make.width.height.mas_equalTo(80);
- make.top.mas_equalTo(10);
- }];
-
- [self.endDateImg mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.right.top.bottom.mas_equalTo(0);
- }];
-
- [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(10);
- make.left.mas_equalTo(self.iconView.mas_right).mas_offset(10);
- make.right.mas_equalTo(-10);
- }];
-
- [self.endDateLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(self.titleLabel.mas_left);
- make.top.mas_equalTo(self.titleLabel.mas_bottom).mas_offset(8);
- make.right.mas_equalTo(-10);
- }];
-
- [self.priceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(self.titleLabel.mas_left);
- make.bottom.mas_equalTo(-10);
- }];
-
- [self.disPriceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.mas_equalTo(self.priceLabel.mas_right).mas_offset(5);
- make.centerY.mas_equalTo(self.priceLabel.mas_centerY);
- }];
-
- [self.ticketImg mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.mas_equalTo(-10);
- make.bottom.mas_equalTo(self.iconView.mas_bottom);
- make.width.mas_equalTo(69);
- make.height.mas_equalTo(27);
- }];
-
- [self.ticketLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.right.top.bottom.mas_equalTo(0);
- }];
-
- [self.sameButton mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.mas_equalTo(-10);
- make.bottom.mas_equalTo(self.iconView.mas_bottom);
- make.width.mas_equalTo(60);
- make.height.mas_equalTo(23);
- }];
-
- }
- - (void)setModel:(KBMyTicketModel *)model {
- _model = model;
- [self.iconView sd_setImageWithURL:[NSURL URLWithString:model.img]];
- self.titleLabel.text = model.title;
- self.priceLabel.text = [NSString stringWithFormat:@"¥%.2f",[model.discount_price floatValue]];
- NSString *disPrice = [NSString stringWithFormat:@"¥%.2f",[model.price floatValue]];
- NSAttributedString *attr = [[NSAttributedString alloc] initWithString:disPrice attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:11],
- NSForegroundColorAttributeName:[UIColor YHColorWithHex:0x999999],
- NSStrikethroughColorAttributeName:[UIColor YHColorWithHex:0x999999],
- NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle|NSUnderlinePatternSolid)}];
- self.disPriceLabel.attributedText = attr;
-
- if ([model.is_outdate boolValue]) {
- self.endDateLabel.text = @"已过期";
- self.endDateImg.hidden = NO;
- self.sameButton.hidden = NO;
- self.priceLabel.textColor = [UIColor YHColorWithHex:0x999999];
- self.ticketImg.hidden = YES;
- }else {
- self.endDateLabel.text = [NSString stringWithFormat:@"有效期至:%@",model.end_time];
- self.endDateImg.hidden = YES;
- self.sameButton.hidden = YES;
- self.priceLabel.textColor = [UIColor homeRedColor];
- self.ticketImg.hidden = NO;
- }
-
- }
- - (void)sameAction {
- if (self.saimarClick) {
- self.saimarClick();
- }
- }
- #pragma mark ------------------
- - (UIImageView *)iconView {
- if (!_iconView) {
- _iconView = [[UIImageView alloc] init];
- _iconView.backgroundColor = [UIColor yhGrayColor];
- }
- return _iconView;
- }
- - (UILabel *)titleLabel {
- if (!_titleLabel) {
- _titleLabel = [[UILabel alloc] init];
- _titleLabel.textColor = [UIColor YHColorWithHex:0x444444];
- _titleLabel.font = [UIFont systemFontOfSize:14];
- _titleLabel.numberOfLines = 2;
- }
- return _titleLabel;
- }
- - (UILabel *)endDateLabel {
- if (!_endDateLabel) {
- _endDateLabel = [[UILabel alloc] init];
- _endDateLabel.textColor = [UIColor YHColorWithHex:0x999999];
- _endDateLabel.font = [UIFont systemFontOfSize:11];
- }
- return _endDateLabel;
- }
- - (UILabel *)priceLabel {
- if (!_priceLabel) {
- _priceLabel = [[UILabel alloc] init];
- _priceLabel.font = [UIFont systemFontOfSize:15];
- _priceLabel.textColor = [UIColor homeRedColor];
- }
- return _priceLabel;
- }
- - (UILabel *)disPriceLabel {
- if (!_disPriceLabel) {
- _disPriceLabel = [[UILabel alloc] init];
- _disPriceLabel.font = [UIFont systemFontOfSize:11];
- _disPriceLabel.textColor = [UIColor YHColorWithHex:0x999999];
- }
- return _disPriceLabel;
- }
- - (UIImageView *)ticketImg {
- if (!_ticketImg) {
- _ticketImg = [[UIImageView alloc] init];
- _ticketImg.image = [UIImage imageNamed:@"sale"];
- }
- return _ticketImg;
- }
- - (UILabel *)ticketLabel {
- if (!_ticketLabel) {
- _ticketLabel = [[UILabel alloc] init];
- _ticketLabel.textColor = [UIColor whiteColor];
- _ticketLabel.font = [UIFont systemFontOfSize:13];
- _ticketLabel.textAlignment = NSTextAlignmentCenter;
- _ticketLabel.backgroundColor = [UIColor clearColor];
- _ticketLabel.text = @"立即购买";
- }
- return _ticketLabel;
- }
- - (UILabel *)endDateImg {
- if (!_endDateImg) {
- _endDateImg = [[UILabel alloc] init];
- _endDateImg.text = @"已过期";
- _endDateImg.textAlignment = NSTextAlignmentCenter;
- _endDateImg.textColor = [UIColor whiteColor];
- _endDateImg.font = [UIFont systemFontOfSize:12];
- _endDateImg.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6];
- }
- return _endDateImg;
- }
- - (UIButton *)sameButton {
- if (!_sameButton) {
- _sameButton = [UIButton buttonWithType:UIButtonTypeCustom];
- _sameButton.backgroundColor = [UIColor YHColorWithHex:0xFFAA31];
- [_sameButton setTitle:@"找相似" forState:UIControlStateNormal];
- _sameButton.titleLabel.textColor = [UIColor whiteColor];
- _sameButton.titleLabel.font = [UIFont systemFontOfSize:13];
- _sameButton.userInteractionEnabled = YES;
- [_sameButton addTarget:self action:@selector(sameAction) forControlEvents:UIControlEventTouchUpInside];
- }
- return _sameButton;
- }
- @end
|