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.
162 lines
8.2 KiB
162 lines
8.2 KiB
// |
|
// WXYZ_ChapterBottomPayBarCostTableViewCell.m |
|
// WXReader |
|
// |
|
// Created by Andrew on 2020/7/27. |
|
// Copyright © 2020 Andrew. All rights reserved. |
|
// |
|
|
|
#import "WXYZ_ChapterBottomPayBarCostTableViewCell.h" |
|
|
|
@implementation WXYZ_ChapterBottomPayBarCostTableViewCell |
|
{ |
|
UIButton *buyChapterButton; |
|
UILabel *buyPriceLabel; |
|
UILabel *buyOriginalPriceLabel; |
|
} |
|
|
|
- (void)createSubviews |
|
{ |
|
[super createSubviews]; |
|
|
|
self.contentView.backgroundColor = kColorRGBA(247, 248, 250, 1); |
|
|
|
buyChapterButton = [UIButton buttonWithType:UIButtonTypeCustom]; |
|
buyChapterButton.layer.cornerRadius = 4; |
|
buyChapterButton.clipsToBounds = YES; |
|
buyChapterButton.backgroundColor = kMainColor; |
|
[buyChapterButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; |
|
[buyChapterButton.titleLabel setFont:kMainFont]; |
|
[buyChapterButton addTarget:self action:@selector(buyChapterButtonClick) forControlEvents:UIControlEventTouchUpInside]; |
|
[self.contentView addSubview:buyChapterButton]; |
|
|
|
[buyChapterButton 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.mas_equalTo(35); |
|
make.width.mas_equalTo(100); |
|
}]; |
|
|
|
buyOriginalPriceLabel = [[UILabel alloc] init]; |
|
buyOriginalPriceLabel.backgroundColor = [UIColor clearColor]; |
|
buyOriginalPriceLabel.font = kFont12; |
|
buyOriginalPriceLabel.textAlignment = NSTextAlignmentLeft; |
|
buyOriginalPriceLabel.numberOfLines = 1; |
|
buyOriginalPriceLabel.textColor = kBlackColor; |
|
[self.contentView addSubview:buyOriginalPriceLabel]; |
|
|
|
[buyOriginalPriceLabel mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.mas_equalTo(self.contentView.mas_left).with.offset(kMargin); |
|
make.right.mas_equalTo(buyChapterButton.mas_left).with.offset(- kHalfMargin); |
|
make.bottom.mas_equalTo(self.contentView.mas_bottom).with.offset(- kHalfMargin); |
|
make.height.mas_equalTo(20); |
|
}]; |
|
|
|
buyPriceLabel = [[UILabel alloc] init]; |
|
buyPriceLabel.backgroundColor = [UIColor clearColor]; |
|
buyPriceLabel.font = kMainFont; |
|
buyPriceLabel.textAlignment = NSTextAlignmentLeft; |
|
buyPriceLabel.numberOfLines = 1; |
|
[self.contentView addSubview:buyPriceLabel]; |
|
|
|
[buyPriceLabel mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.mas_equalTo(buyOriginalPriceLabel.mas_left); |
|
make.right.mas_equalTo(buyOriginalPriceLabel.mas_right); |
|
make.top.mas_equalTo(self.contentView.mas_top).with.offset(kHalfMargin); |
|
make.bottom.mas_equalTo(buyOriginalPriceLabel.mas_top); |
|
}]; |
|
} |
|
|
|
- (void)setBuyOptionModel:(WXYZ_ChapterPayBarOptionModel *)buyOptionModel |
|
{ |
|
_buyOptionModel = buyOptionModel; |
|
|
|
if (TFUserInfoManager.isLogin) { |
|
if (self.base_info.remain - buyOptionModel.total_price >= 0) { |
|
[buyChapterButton setTitle:TFLocalizedString(@"确认购买") forState:UIControlStateNormal]; |
|
} else { |
|
[buyChapterButton setTitle:TFLocalizedString(@"充值并购买") forState:UIControlStateNormal]; |
|
} |
|
} else { |
|
[buyChapterButton setTitle:TFLocalizedString(@"登录后购买") forState:UIControlStateNormal]; |
|
} |
|
|
|
// 实付 |
|
buyPriceLabel.attributedText = [self getPriceString]; |
|
|
|
// 原价 |
|
buyOriginalPriceLabel.attributedText = [self getOriginalPriceString]; |
|
|
|
if (buyOptionModel.discount.length > 0) { |
|
[buyOriginalPriceLabel mas_updateConstraints:^(MASConstraintMaker *make) { |
|
make.height.mas_equalTo(20); |
|
}]; |
|
} else { |
|
[buyOriginalPriceLabel mas_updateConstraints:^(MASConstraintMaker *make) { |
|
make.height.mas_equalTo(CGFLOAT_MIN); |
|
}]; |
|
} |
|
} |
|
|
|
- (void)setBase_info:(WXYZ_ChapterPayBarInfoModel *)base_info |
|
{ |
|
_base_info = base_info; |
|
} |
|
|
|
- (void)buyChapterButtonClick |
|
{ |
|
if (self.buyChapterClickBlock) { |
|
self.buyChapterClickBlock((self.base_info.remain - self.buyOptionModel.total_price <= 0)); |
|
} |
|
} |
|
|
|
- (NSMutableAttributedString *)getPriceString |
|
{ |
|
NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] init]; |
|
|
|
NSString *suffix = nil; |
|
|
|
if (self.buyOptionModel.actual_cost.gold_cost == 0 && self.buyOptionModel.actual_cost.silver_cost > 0) { |
|
[attributedStr appendString:[NSString stringWithFormat:@"%@%@%@", TFLocalizedString(@"实付:"), [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.gold_cost], self.base_info.subUnit?:@""]]; |
|
suffix = [NSString stringWithFormat:@"%@%@", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.gold_cost], self.base_info.subUnit?:@""]; |
|
|
|
} else if (self.buyOptionModel.actual_cost.gold_cost > 0 && self.buyOptionModel.actual_cost.silver_cost == 0) { |
|
[attributedStr appendString:[NSString stringWithFormat:@"%@%@%@", TFLocalizedString(@"实付:"), [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.gold_cost], self.base_info.unit?:@""]]; |
|
suffix = [NSString stringWithFormat:@"%@%@", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.gold_cost], self.base_info.unit?:@""]; |
|
|
|
} else { |
|
[attributedStr appendString:[NSString stringWithFormat:@"%@%@%@ + %@%@", TFLocalizedString(@"实付:"), [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.gold_cost], self.base_info.unit?:@"", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.silver_cost], self.base_info.subUnit?:@""]]; |
|
suffix = [NSString stringWithFormat:@"%@%@ + %@%@", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.gold_cost], self.base_info.unit?:@"", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.actual_cost.silver_cost], self.base_info.subUnit?:@""]; |
|
} |
|
|
|
|
|
[attributedStr addAttribute:NSForegroundColorAttributeName value:kMainColor range:NSMakeRange(attributedStr.length - suffix.length, suffix.length)]; |
|
return attributedStr; |
|
} |
|
|
|
- (NSMutableAttributedString *)getOriginalPriceString |
|
{ |
|
NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] init]; |
|
|
|
NSString *suffix = nil; |
|
|
|
if (self.buyOptionModel.original_cost.gold_cost == 0 && self.buyOptionModel.original_cost.silver_cost > 0) { |
|
[attributedStr appendString:[NSString stringWithFormat:@"%@%@%@", TFLocalizedString(@"原价:"), [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.gold_cost], self.base_info.subUnit?:@""]]; |
|
suffix = [NSString stringWithFormat:@"%@%@", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.gold_cost], self.base_info.subUnit?:@""]; |
|
|
|
} else if (self.buyOptionModel.original_cost.gold_cost > 0 && self.buyOptionModel.original_cost.silver_cost == 0) { |
|
[attributedStr appendString:[NSString stringWithFormat:@"%@%@%@", TFLocalizedString(@"原价:"), [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.gold_cost], self.base_info.unit?:@""]]; |
|
suffix = [NSString stringWithFormat:@"%@%@", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.gold_cost], self.base_info.unit?:@""]; |
|
|
|
} else { |
|
[attributedStr appendString:[NSString stringWithFormat:@"%@%@%@ + %@%@", TFLocalizedString(@"原价:"), [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.gold_cost], self.base_info.unit?:@"", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.silver_cost], self.base_info.subUnit?:@""]]; |
|
suffix = [NSString stringWithFormat:@"%@%@ + %@%@", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.gold_cost], self.base_info.unit?:@"", [TFUtilsHelper formatStringWithInteger:self.buyOptionModel.original_cost.silver_cost], self.base_info.subUnit?:@""]; |
|
|
|
} |
|
|
|
[attributedStr addAttribute:NSForegroundColorAttributeName value:kGrayTextColor range:NSMakeRange(0, attributedStr.length)]; |
|
[attributedStr addAttributes:@{NSStrikethroughStyleAttributeName : @(NSUnderlinePatternSolid | NSUnderlineStyleSingle), NSBaselineOffsetAttributeName : @(0)} range:NSMakeRange(attributedStr.length - suffix.length, suffix.length)]; |
|
return attributedStr; |
|
} |
|
|
|
@end
|
|
|