// // QuestionListTableCell.m // redstar // // Created by admin on 15/11/2. // Copyright © 2015年 ZWF. All rights reserved. // #import "QuestionListTableCell.h" @implementation QuestionListTableCell #pragma mark - System Methods - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { [self setup]; } return self; } #pragma mark - Private Methods - (void)setup { self.titleLabel.textColor = kQuestionCellTitleColor; self.hotLabel.font = [UIFont boldSystemFontOfSize:12.0]; self.detailsLabel.font = [UIFont systemFontOfSize:15.0]; self.stateLabel.font = [UIFont systemFontOfSize:14.0]; self.dateLabel.font = [UIFont systemFontOfSize:14.0]; self.thumbBtn.titleLabel.font = [UIFont systemFontOfSize:15.0]; } #pragma mark - lazy laoding - (UILabel *)titleLabel { if (!_titleLabel) { _titleLabel = [[UILabel alloc] init]; _titleLabel.translatesAutoresizingMaskIntoConstraints = NO; _titleLabel.font = [UIFont boldSystemFontOfSize:17.0]; [self.contentView addSubview:_titleLabel]; // 顶端 NSLayoutConstraint *titleTop = [NSLayoutConstraint constraintWithItem:_titleLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeTop multiplier:1.0 constant:10]; [self.contentView addConstraint:titleTop]; // 左边 NSLayoutConstraint *titleLeft = [NSLayoutConstraint constraintWithItem:_titleLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20]; [self.contentView addConstraint:titleLeft]; // 右边 NSLayoutConstraint *titleRight = [NSLayoutConstraint constraintWithItem:_titleLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.hotLabel attribute:NSLayoutAttributeLeft multiplier:1.0 constant:-15]; [self.contentView addConstraint:titleRight]; // 高度 NSLayoutConstraint *titleHeight = [NSLayoutConstraint constraintWithItem:_titleLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:30]; [self.contentView addConstraint:titleHeight]; } return _titleLabel; } - (UILabel *)hotLabel { if (!_hotLabel) { _hotLabel = [[UILabel alloc] init]; _hotLabel.translatesAutoresizingMaskIntoConstraints = NO; _hotLabel.backgroundColor = kHotBackGroundColor; _hotLabel.textColor = [UIColor whiteColor]; _hotLabel.text = @"HOT"; _hotLabel.textAlignment = NSTextAlignmentCenter; _hotLabel.layer.masksToBounds = YES; _hotLabel.layer.cornerRadius = 3; [self.contentView addSubview:_hotLabel]; // 顶端 NSLayoutConstraint *hotTop = [NSLayoutConstraint constraintWithItem:_hotLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeTop multiplier:1.0 constant:15]; [self.contentView addConstraint:hotTop]; // 左边 NSLayoutConstraint *hotWidth = [NSLayoutConstraint constraintWithItem:_hotLabel attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:34]; [self.contentView addConstraint:hotWidth]; // 右边 NSLayoutConstraint *hotRight = [NSLayoutConstraint constraintWithItem:_hotLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20]; [self.contentView addConstraint:hotRight]; // 高度 NSLayoutConstraint *hotHeight = [NSLayoutConstraint constraintWithItem:_hotLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:15]; [self.contentView addConstraint:hotHeight]; } return _hotLabel; } - (UILabel *)detailsLabel { if (!_detailsLabel) { _detailsLabel = [[UILabel alloc] init]; _detailsLabel.translatesAutoresizingMaskIntoConstraints = NO; _detailsLabel.textColor = kQuestionCellTitleColor; [self.contentView addSubview:_detailsLabel]; // 顶端 NSLayoutConstraint *detailsTop = [NSLayoutConstraint constraintWithItem:_detailsLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.titleLabel attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]; [self.contentView addConstraint:detailsTop]; // 左边 NSLayoutConstraint *detailsLeft = [NSLayoutConstraint constraintWithItem:_detailsLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20]; [self.contentView addConstraint:detailsLeft]; // 右边 NSLayoutConstraint *detailsRight = [NSLayoutConstraint constraintWithItem:_detailsLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20]; [self.contentView addConstraint:detailsRight]; // 高度 NSLayoutConstraint *detailsHeight = [NSLayoutConstraint constraintWithItem:_detailsLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:25]; [self.contentView addConstraint:detailsHeight]; } return _detailsLabel; } - (UILabel *)stateLabel { if (!_stateLabel) { _stateLabel = [[UILabel alloc] init]; _stateLabel.translatesAutoresizingMaskIntoConstraints = NO; _stateLabel.textColor = kQuestionStateColor; [self.contentView addSubview:_stateLabel]; // 顶端 NSLayoutConstraint *stateTop = [NSLayoutConstraint constraintWithItem:_stateLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.detailsLabel attribute:NSLayoutAttributeBottom multiplier:1.0 constant:3]; [self.contentView addConstraint:stateTop]; // 左边 NSLayoutConstraint *stateLeft = [NSLayoutConstraint constraintWithItem:_stateLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20]; [self.contentView addConstraint:stateLeft]; // 右边 NSLayoutConstraint *stateRight = [NSLayoutConstraint constraintWithItem:_stateLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20]; [self.contentView addConstraint:stateRight]; // 高度 NSLayoutConstraint *stateHeight = [NSLayoutConstraint constraintWithItem:_stateLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:16]; [self.contentView addConstraint:stateHeight]; } return _stateLabel; } - (UILabel *)dateLabel { if (!_dateLabel) { _dateLabel = [[UILabel alloc] init]; _dateLabel.translatesAutoresizingMaskIntoConstraints = NO; _dateLabel.textColor = kQuestionStateColor; [self.contentView addSubview:_dateLabel]; // 顶端 NSLayoutConstraint *stateTop = [NSLayoutConstraint constraintWithItem:_dateLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.stateLabel attribute:NSLayoutAttributeBottom multiplier:1.0 constant:5]; [self.contentView addConstraint:stateTop]; // 左边 NSLayoutConstraint *stateLeft = [NSLayoutConstraint constraintWithItem:_dateLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:20]; [self.contentView addConstraint:stateLeft]; // 右边 NSLayoutConstraint *stateRight = [NSLayoutConstraint constraintWithItem:_dateLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.thumbBtn attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]; [self.contentView addConstraint:stateRight]; // 高度 NSLayoutConstraint *stateHeight = [NSLayoutConstraint constraintWithItem:_dateLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:16]; [self.contentView addConstraint:stateHeight]; } return _dateLabel; } - (ZanButton *)thumbBtn { if (!_thumbBtn) { _thumbBtn = [[ZanButton alloc] init]; _thumbBtn.translatesAutoresizingMaskIntoConstraints = NO; [_thumbBtn setTitleColor:kNavigationBarColor forState:UIControlStateNormal]; [_thumbBtn setTitle:@"220" forState:UIControlStateNormal]; [_thumbBtn setImage:[UIImage imageNamed:@"commend"] forState:UIControlStateNormal]; [self.contentView addSubview:_thumbBtn]; // 顶端 NSLayoutConstraint *stateTop = [NSLayoutConstraint constraintWithItem:_thumbBtn attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.stateLabel attribute:NSLayoutAttributeBottom multiplier:1.0 constant:2]; [self.contentView addConstraint:stateTop]; // 左边 NSLayoutConstraint *stateWidth = [NSLayoutConstraint constraintWithItem:_thumbBtn attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:55]; [self.contentView addConstraint:stateWidth]; // 右边 NSLayoutConstraint *stateRight = [NSLayoutConstraint constraintWithItem:_thumbBtn attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-20]; [self.contentView addConstraint:stateRight]; // 高度 NSLayoutConstraint *stateHeight = [NSLayoutConstraint constraintWithItem:_thumbBtn attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:20]; [self.contentView addConstraint:stateHeight]; } return _thumbBtn; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end