// // TFMonthlyTicketViewCell.m // TFReader // // Created by 谢腾飞 on 2020/12/21. // Copyright © 2020 xtfei_2011@126.com. All rights reserved. // #import "TFMonthlyTicketViewCell.h" #import "NSObject+Observer.h" @interface TFMonthlyTicketViewCell () { UIView *_splitLine; } @end @implementation TFMonthlyTicketViewCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { [self createSubviews]; } return self; } - (void)createSubviews { UILabel *nameLabel = [[UILabel alloc] init]; nameLabel.textColor = kBlackColor; nameLabel.font = kFont14; [self.contentView addSubview:nameLabel]; [nameLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.contentView).offset(kMoreHalfMargin); make.left.equalTo(self.contentView).offset(kMoreHalfMargin); }]; UILabel *timeLabel = [[UILabel alloc] init]; timeLabel.textColor = kGrayTextColor; timeLabel.font = kFont14; [self.contentView addSubview:timeLabel]; [timeLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(nameLabel.mas_bottom).offset(kHalfMargin); make.left.equalTo(self.contentView).offset(kMoreHalfMargin); }]; UILabel *descLabel = [[UILabel alloc] init]; descLabel.textColor = kGrayTextColor; descLabel.font = kFont14; [self.contentView addSubview:descLabel]; [descLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self.contentView); make.right.equalTo(self.contentView).offset(-kMoreHalfMargin); }]; _splitLine = [[UIView alloc] init]; _splitLine.backgroundColor = kGrayLineColor; [self.contentView addSubview:_splitLine]; [_splitLine mas_makeConstraints:^(MASConstraintMaker *make) { make.height.mas_equalTo(kCellLineHeight); make.bottom.equalTo(self.contentView); make.left.equalTo(self.contentView).offset(kMoreHalfMargin); make.right.equalTo(self.contentView).offset(-kMoreHalfMargin); make.top.equalTo(timeLabel.mas_bottom).offset(kMoreHalfMargin).priorityLow(); }]; [self addObserver:KEY_PATH(self, ticketListModel) complete:^(id _Nonnull obj, id _Nullable oldVal, TFMonthlyTicketListModel * _Nullable newVal) { nameLabel.text = newVal.title ?: @""; timeLabel.text = newVal.time ?: @""; descLabel.text = newVal.desc ?: @""; }]; } - (void)setSplitLineHidden:(BOOL)hidden { _splitLine.hidden = hidden; } @end