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.
94 lines
3.6 KiB
94 lines
3.6 KiB
// |
|
// WXYZ_ChapterBottomPayBarOptionTableViewCell.m |
|
// WXReader |
|
// |
|
// Created by Andrew on 2020/7/27. |
|
// Copyright © 2020 Andrew. All rights reserved. |
|
// |
|
|
|
#import "WXYZ_ChapterBottomPayBarOptionTableViewCell.h" |
|
|
|
@implementation WXYZ_ChapterBottomPayBarOptionTableViewCell |
|
{ |
|
UIScrollView *optionScorllView; |
|
} |
|
|
|
- (void)createSubviews |
|
{ |
|
[super createSubviews]; |
|
|
|
optionScorllView = [[UIScrollView alloc] init]; |
|
optionScorllView.showsVerticalScrollIndicator = NO; |
|
optionScorllView.showsHorizontalScrollIndicator = NO; |
|
optionScorllView.backgroundColor = [UIColor whiteColor]; |
|
[self.contentView addSubview:optionScorllView]; |
|
|
|
[optionScorllView mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.left.mas_equalTo(self.contentView.mas_left); |
|
make.top.mas_equalTo(self.contentView.mas_top); |
|
make.width.mas_equalTo(self.contentView.mas_width); |
|
make.height.mas_equalTo(self.contentView.mas_height); |
|
}]; |
|
} |
|
|
|
- (void)setPay_options:(NSArray<WXYZ_ChapterPayBarOptionModel *> *)pay_options |
|
{ |
|
if (_pay_options != pay_options) { |
|
_pay_options = pay_options; |
|
|
|
[optionScorllView removeAllSubviews]; |
|
|
|
NSInteger buttonNum = pay_options.count; |
|
CGFloat button_H = 30;//按钮高 |
|
CGFloat margin_X = kMargin;//第一个按钮的X坐标 |
|
CGFloat margin_Y = 10;//第一个按钮的Y坐标 |
|
CGFloat space_X = kHalfMargin;//按钮间距 |
|
CGFloat button_X = margin_X; |
|
CGFloat button_W = - 10; |
|
for (NSInteger i = 0; i < buttonNum; i++) { |
|
WXYZ_ChapterPayBarOptionModel *option = [pay_options objectOrNilAtIndex:i]; |
|
button_X = button_X + button_W + space_X; |
|
button_W = [TFViewHelper getDynamicWidthWithLabelFont:kMainFont labelHeight:30 labelText:option.label] + 10;//按钮宽 |
|
|
|
UIButton *optionButton = [UIButton buttonWithType:UIButtonTypeCustom]; |
|
optionButton.frame = CGRectMake(button_X, margin_Y, button_W, button_H); |
|
optionButton.layer.cornerRadius = 4; |
|
optionButton.backgroundColor = [UIColor whiteColor]; |
|
optionButton.tag = i; |
|
[optionButton.titleLabel setFont:kMainFont]; |
|
[optionButton setTitle:option.label?:@"" forState:UIControlStateNormal]; |
|
[optionButton setTitleColor:kGrayTextColor forState:UIControlStateNormal]; |
|
[optionButton addTarget:self action:@selector(optionButtonClick:) forControlEvents:UIControlEventTouchUpInside]; |
|
[optionScorllView addSubview:optionButton]; |
|
|
|
if (i == buttonNum - 1) { |
|
[optionScorllView setContentSize:CGSizeMake(optionButton.right, 0)]; |
|
} |
|
|
|
if (buttonNum > 0 && i == 0) { |
|
optionButton.backgroundColor = kMainColor; |
|
[optionButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; |
|
} |
|
} |
|
} |
|
} |
|
|
|
- (void)optionButtonClick:(UIButton *)sender |
|
{ |
|
[optionScorllView.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { |
|
if ([obj isKindOfClass:[UIButton class]]) { |
|
UIButton *button = (UIButton *)obj; |
|
button.backgroundColor = [UIColor whiteColor]; |
|
[button setTitleColor:kGrayTextColor forState:UIControlStateNormal]; |
|
} |
|
}]; |
|
|
|
sender.backgroundColor = kMainColor; |
|
[sender setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; |
|
|
|
if (self.payOptionClickBlock) { |
|
self.payOptionClickBlock([self.pay_options objectOrNilAtIndex:sender.tag], sender.tag); |
|
} |
|
} |
|
|
|
@end
|
|
|