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.
 

156 lines
5.3 KiB

//
// TFNovelDownloadMenuCell.m
// TFReader
//
// Created by 谢腾飞 on 2020/12/16.
// Copyright © 2020 xtfei_2011@126.com. All rights reserved.
//
#import "TFNovelDownloadMenuCell.h"
@interface TFNovelDownloadMenuCell ()
{
UILabel *chapterLabel;
UILabel *tagView;
UILabel *downloadStateLabel;
UIActivityIndicatorView *activityIndicator;
}
@end
@implementation TFNovelDownloadMenuCell
- (void)createSubviews
{
[super createSubviews];
chapterLabel = [[UILabel alloc] init];
chapterLabel.textColor = kBlackColor;
chapterLabel.textAlignment = NSTextAlignmentLeft;
chapterLabel.font = kFont12;
[self.contentView addSubview:chapterLabel];
[chapterLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.contentView.mas_left).with.offset(kMargin);
make.top.mas_equalTo(self.contentView.mas_top);
make.height.mas_equalTo(40);
make.width.mas_equalTo(100);
}];
tagView = [[UILabel alloc] init];
tagView.hidden = YES;
tagView.textColor = kWhiteColor;
tagView.textAlignment = NSTextAlignmentCenter;
tagView.font = kFont8;
tagView.backgroundColor = kRedColor;
tagView.layer.cornerRadius = 4;
tagView.clipsToBounds = YES;
[self.contentView addSubview:tagView];
[tagView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(chapterLabel.mas_right);
make.centerY.mas_equalTo(chapterLabel.mas_centerY);
make.width.mas_equalTo(50);
make.height.mas_equalTo(15);
}];
downloadStateLabel = [[UILabel alloc] init];
downloadStateLabel.hidden = YES;
downloadStateLabel.textColor = kGrayTextLightColor;
downloadStateLabel.textAlignment = NSTextAlignmentRight;
downloadStateLabel.font = kFont12;
downloadStateLabel.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:downloadStateLabel];
[downloadStateLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.contentView.mas_right).with.offset(- kMargin);
make.top.mas_equalTo(0);
make.width.mas_equalTo(100);
make.height.mas_equalTo(40);
}];
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyleGray)];
activityIndicator.hidesWhenStopped = YES;
[self.contentView addSubview:activityIndicator];
//设置小菊花的frame
[activityIndicator mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.contentView.mas_right).with.offset(- kMargin);
make.centerY.mas_equalTo(self.contentView.mas_centerY);
make.height.width.mas_equalTo(20);
}];
}
- (void)startDownloadLoading
{
[activityIndicator startAnimating];
}
- (void)setOptionModel:(TFDownloadTaskModel *)optionModel
{
_optionModel = optionModel;
chapterLabel.text = optionModel.label?:@"";
[chapterLabel mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo([TFViewHelper getDynamicWidthWithLabelFont:kFont12 labelHeight:40 labelText:optionModel.label?:@""]);
}];
if (optionModel.tag && optionModel.tag.length > 0) {
tagView.hidden = NO;
tagView.text = optionModel.tag;
[tagView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo([TFViewHelper getDynamicWidthWithLabelFont:kFont8 labelHeight:15 labelText:optionModel.tag]);
}];
} else {
tagView.hidden = YES;
}
chapterLabel.textColor = kBlackColor;
downloadStateLabel.hidden = YES;
self.userInteractionEnabled = YES;
switch ([[WXYZ_BookDownloadManager sharedManager] getDownloadMissionStateWithProduction_id:self.book_id downloadTaskModel:optionModel]) {
case WXYZ_ProductionDownloadStateDownloading:
chapterLabel.textColor = kGrayTextLightColor;
downloadStateLabel.hidden = NO;
downloadStateLabel.text = TFLocalizedString(@"正在下载");
self.userInteractionEnabled = NO;
break;
case WXYZ_ProductionDownloadStateDownloaded:
chapterLabel.textColor = kGrayTextLightColor;
downloadStateLabel.hidden = NO;
downloadStateLabel.text = TFLocalizedString(@"已下载");
self.userInteractionEnabled = NO;
break;
default:
break;
}
}
- (void)setMissionState:(WXYZ_DownloadMissionState)missionState
{
_missionState = missionState;
[activityIndicator stopAnimating];
switch (missionState) {
case WXYZ_DownloadStateMissionStart:
chapterLabel.textColor = kGrayTextLightColor;
downloadStateLabel.hidden = NO;
downloadStateLabel.text = TFLocalizedString(@"正在下载");
self.userInteractionEnabled = NO;
break;
case WXYZ_DownloadStateMissionFinished:
chapterLabel.textColor = kGrayTextLightColor;
downloadStateLabel.hidden = NO;
downloadStateLabel.text = TFLocalizedString(@"已下载");
self.userInteractionEnabled = NO;
break;
default:
chapterLabel.textColor = kBlackColor;
downloadStateLabel.hidden = YES;
self.userInteractionEnabled = YES;
break;
}
}
@end