You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.9 KiB
115 lines
3.9 KiB
4 years ago
|
//
|
||
|
// TFBookRackHeaderCell.m
|
||
|
// WXReader
|
||
|
//
|
||
|
// Created by 谢腾飞 on 2020/12/1.
|
||
|
// Copyright © 2020 xtfei_2011@126.com. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import "TFBookRackHeaderCell.h"
|
||
|
|
||
|
@interface TFBookRackHeaderCell ()
|
||
|
{
|
||
|
UIView *bottomView;
|
||
|
|
||
|
TFProductionCoverView *bookImageView;
|
||
|
|
||
|
UILabel *titleLabel;
|
||
|
YYLabel *bookDetailLabel;
|
||
|
}
|
||
|
@end
|
||
|
|
||
|
@implementation TFBookRackHeaderCell
|
||
|
|
||
|
- (instancetype)initWithFrame:(CGRect)frame
|
||
|
{
|
||
|
if (self = [super initWithFrame:frame]) {
|
||
|
self.backgroundColor = kWhiteColor;
|
||
|
[self createSubViews];
|
||
|
}
|
||
|
return self;
|
||
|
}
|
||
|
|
||
|
- (void)createSubViews
|
||
|
{
|
||
|
bottomView = [[UIView alloc] init];
|
||
|
bottomView.backgroundColor = kGrayViewColor;
|
||
|
bottomView.layer.cornerRadius = 8;
|
||
|
[self addSubview:bottomView];
|
||
|
|
||
|
[bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
|
make.left.mas_equalTo(kHalfMargin + kQuarterMargin);
|
||
|
make.right.mas_equalTo(self.mas_right).with.offset(- kHalfMargin - kQuarterMargin);
|
||
|
make.top.mas_equalTo(self.mas_top).with.offset(kHalfMargin);
|
||
|
make.height.mas_equalTo(self.mas_height).with.offset(- kMargin);
|
||
|
}];
|
||
|
|
||
|
bookImageView = [[TFProductionCoverView alloc] initWithProductionType:TFProductionTypeNovel coverDirection:TFProductionCoverDirectionVertical];
|
||
|
[bottomView addSubview:bookImageView];
|
||
|
|
||
|
[bookImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
|
make.left.mas_equalTo(bottomView.mas_left).with.offset(kHalfMargin);
|
||
|
make.centerY.mas_equalTo(bottomView.mas_centerY);
|
||
|
make.height.mas_equalTo(bottomView.mas_height).with.offset(- kMargin);
|
||
|
make.width.mas_equalTo(kGeometricWidth((self.height - 2 * kMargin), 3, 4));
|
||
|
}];
|
||
|
|
||
|
titleLabel = [[UILabel alloc] init];
|
||
|
titleLabel.textColor = kBlackColor;
|
||
|
titleLabel.textAlignment = NSTextAlignmentLeft;
|
||
|
titleLabel.numberOfLines = 1;
|
||
|
titleLabel.font = kMainFont;
|
||
|
[self addSubview:titleLabel];
|
||
|
|
||
|
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
|
make.left.mas_equalTo(bookImageView.mas_right).with.offset(kHalfMargin);
|
||
|
make.top.mas_equalTo(bookImageView.mas_top).with.offset(kQuarterMargin);
|
||
|
make.right.mas_equalTo(bottomView.mas_right).with.offset(- kHalfMargin);
|
||
|
make.height.mas_equalTo(30);
|
||
|
}];
|
||
|
|
||
|
bookDetailLabel = [[YYLabel alloc] init];
|
||
|
bookDetailLabel.textColor = kGrayTextColor;
|
||
|
bookDetailLabel.textAlignment = NSTextAlignmentLeft;
|
||
|
bookDetailLabel.textVerticalAlignment = YYTextVerticalAlignmentCenter;
|
||
|
bookDetailLabel.numberOfLines = 2;
|
||
|
bookDetailLabel.font = kFont13;
|
||
|
[self addSubview:bookDetailLabel];
|
||
|
|
||
|
[bookDetailLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
|
make.left.mas_equalTo(titleLabel.mas_left);
|
||
|
make.top.mas_equalTo(titleLabel.mas_bottom);
|
||
|
make.bottom.mas_equalTo(bookImageView.mas_bottom).with.offset(- kHalfMargin);
|
||
|
make.right.mas_equalTo(titleLabel.mas_right);
|
||
|
}];
|
||
|
|
||
|
}
|
||
|
|
||
|
- (void)setProductionModel:(TFProductionModel *)productionModel
|
||
|
{
|
||
|
_productionModel = productionModel;
|
||
|
|
||
|
if (productionModel.vertical_cover.length > 0) {
|
||
|
bookImageView.coverImageUrl = productionModel.vertical_cover;
|
||
|
} else if (productionModel.horizontal_cover.length > 0) {
|
||
|
bookImageView.coverImageUrl = productionModel.horizontal_cover;
|
||
|
} else {
|
||
|
bookImageView.coverImageUrl = productionModel.cover;
|
||
|
}
|
||
|
|
||
|
titleLabel.text = productionModel.name?:@"";
|
||
|
|
||
|
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString: productionModel.production_descirption?:@""];
|
||
|
attributedString.lineSpacing = 3;
|
||
|
attributedString.font = kFont13;
|
||
|
attributedString.color = kGrayTextColor;
|
||
|
bookDetailLabel.attributedText = attributedString;
|
||
|
}
|
||
|
|
||
|
- (void)setProductionType:(TFProductionType)productionType
|
||
|
{
|
||
|
_productionType = productionType;
|
||
|
bookImageView.productionType = productionType;
|
||
|
}
|
||
|
@end
|