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.
170 lines
5.5 KiB
170 lines
5.5 KiB
// |
|
// TFComicDownloadViewCell.m |
|
// TFReader |
|
// |
|
// Created by 谢腾飞 on 2020/12/15. |
|
// Copyright © 2020 xtfei_2011@126.com. All rights reserved. |
|
// |
|
|
|
#import "TFComicDownloadViewCell.h" |
|
#import "WXYZ_ComicDownloadManager.h" |
|
|
|
@interface TFComicDownloadViewCell () |
|
{ |
|
UILabel *chapterNumLabel; |
|
UIImageView *lockImageView; |
|
UILabel *cellStateLabel; |
|
} |
|
@end |
|
|
|
@implementation TFComicDownloadViewCell |
|
|
|
- (instancetype)initWithFrame:(CGRect)frame |
|
{ |
|
if (self = [super initWithFrame:frame]) { |
|
self.backgroundColor = [UIColor clearColor]; |
|
[self createSubViews]; |
|
} |
|
return self; |
|
} |
|
|
|
- (void)createSubViews |
|
{ |
|
chapterNumLabel = [[UILabel alloc] init]; |
|
chapterNumLabel.backgroundColor = kWhiteColor; |
|
chapterNumLabel.textColor = kBlackColor; |
|
chapterNumLabel.textAlignment = NSTextAlignmentCenter; |
|
chapterNumLabel.font = kMainFont; |
|
chapterNumLabel.layer.cornerRadius = 8; |
|
chapterNumLabel.clipsToBounds = YES; |
|
[self addSubview:chapterNumLabel]; |
|
|
|
[chapterNumLabel mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.edges.mas_equalTo(self); |
|
}]; |
|
|
|
lockImageView = [[UIImageView alloc] init]; |
|
lockImageView.image = [[UIImage imageNamed:@"comic_lock"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; |
|
lockImageView.tintColor = kMainColor; |
|
lockImageView.hidden = YES; |
|
[chapterNumLabel addSubview:lockImageView]; |
|
|
|
[lockImageView mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.mas_equalTo(kQuarterMargin); |
|
make.top.mas_equalTo(kQuarterMargin); |
|
make.width.height.mas_equalTo(self.mas_height).with.multipliedBy(0.3); |
|
}]; |
|
|
|
cellStateLabel = [[UILabel alloc] init]; |
|
cellStateLabel.backgroundColor = [UIColor clearColor]; |
|
cellStateLabel.textColor = kWhiteColor; |
|
cellStateLabel.textAlignment = NSTextAlignmentCenter; |
|
cellStateLabel.font = kFont6; |
|
cellStateLabel.layer.cornerRadius = (self.height * 0.2) / 2; |
|
cellStateLabel.clipsToBounds = YES; |
|
[chapterNumLabel addSubview:cellStateLabel]; |
|
|
|
[cellStateLabel mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.right.mas_equalTo(chapterNumLabel.mas_right).with.offset(- 2); |
|
make.bottom.mas_equalTo(chapterNumLabel.mas_bottom).with.offset(- 2); |
|
make.width.mas_equalTo(20); |
|
make.height.mas_equalTo(self.mas_height).with.multipliedBy(0.2); |
|
}]; |
|
|
|
} |
|
|
|
- (void)setChapterModel:(TFProductionChapterModel *)chapterModel |
|
{ |
|
_chapterModel = chapterModel; |
|
|
|
chapterNumLabel.text = chapterModel.display_label?:@""; |
|
|
|
if (chapterModel.can_read) { |
|
lockImageView.hidden = YES; |
|
} else { |
|
lockImageView.hidden = NO; |
|
} |
|
|
|
chapterNumLabel.text = chapterModel.display_label?:@""; |
|
} |
|
|
|
- (void)setCellDownloadState:(WXYZ_ProductionDownloadState)cellDownloadState |
|
{ |
|
_cellDownloadState = cellDownloadState; |
|
|
|
lockImageView.hidden = self.chapterModel.can_read; |
|
|
|
switch (cellDownloadState) { |
|
case WXYZ_ProductionDownloadStateNormal: |
|
{ |
|
cellStateLabel.backgroundColor = [UIColor clearColor]; |
|
cellStateLabel.hidden = YES; |
|
cellStateLabel.text = @""; |
|
|
|
lockImageView.tintColor = kMainColor; |
|
|
|
chapterNumLabel.backgroundColor = kWhiteColor; |
|
chapterNumLabel.textColor = kBlackColor; |
|
} |
|
break; |
|
case WXYZ_ProductionDownloadStateDownloading: |
|
{ |
|
cellStateLabel.backgroundColor = kColorRGBA(28, 220, 142, 1); |
|
cellStateLabel.hidden = NO; |
|
cellStateLabel.text = TFLocalizedString(@"下载中"); |
|
|
|
lockImageView.tintColor = kMainColor; |
|
lockImageView.hidden = YES; |
|
|
|
chapterNumLabel.backgroundColor = kGrayDeepViewColor; |
|
chapterNumLabel.textColor = kGrayTextColor; |
|
} |
|
break; |
|
case WXYZ_ProductionDownloadStateDownloaded: |
|
{ |
|
cellStateLabel.backgroundColor = kColorRGBA(28, 220, 142, 0.5); |
|
cellStateLabel.hidden = NO; |
|
cellStateLabel.text = TFLocalizedString(@"本地"); |
|
|
|
lockImageView.tintColor = kMainColor; |
|
lockImageView.hidden = YES; |
|
|
|
chapterNumLabel.backgroundColor = kGrayDeepViewColor; |
|
chapterNumLabel.textColor = kGrayTextColor; |
|
} |
|
break; |
|
case WXYZ_ProductionDownloadStateFail: |
|
{ |
|
cellStateLabel.backgroundColor = kRedColor; |
|
cellStateLabel.hidden = NO; |
|
cellStateLabel.text = TFLocalizedString(@"失败"); |
|
|
|
lockImageView.tintColor = kMainColor; |
|
|
|
chapterNumLabel.backgroundColor = kWhiteColor; |
|
chapterNumLabel.textColor = kBlackColor; |
|
} |
|
break; |
|
case WXYZ_ProductionDownloadStateSelected: |
|
{ |
|
cellStateLabel.backgroundColor = [UIColor clearColor]; |
|
cellStateLabel.hidden = YES; |
|
cellStateLabel.text = @""; |
|
|
|
lockImageView.tintColor = kWhiteColor; |
|
|
|
chapterNumLabel.backgroundColor = kMainColor; |
|
chapterNumLabel.textColor = kWhiteColor; |
|
} |
|
break; |
|
|
|
default: |
|
break; |
|
} |
|
|
|
[cellStateLabel mas_updateConstraints:^(MASConstraintMaker *make) { |
|
make.width.mas_equalTo([TFViewHelper getDynamicWidthWithLabelFont:kFont6 labelHeight:(self.height * 0.2) labelText:cellStateLabel.text]); |
|
}]; |
|
} |
|
|
|
@end
|
|
|