123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- //
- // RQCommonFooterView.m
- // RQCommon
- //
- // Created by 张嵘 on 2018/11/27.
- // Copyright © 2018 张嵘. All rights reserved.
- //
- #import "RQCommonFooterView.h"
- #import "RQCommonGroupViewModel.h"
- @interface RQCommonFooterView ()
- /// viewModel
- @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *viewModel;
- /// contentLabel
- @property (nonatomic, readwrite, weak) UILabel *contentLabel;
- @end
- @implementation RQCommonFooterView
- #pragma mark - 公共方法
- + (instancetype)footerViewWithTableView:(UITableView *)tableView{
- static NSString *ID = @"CommonFooter";
- RQCommonFooterView *footer = [tableView dequeueReusableHeaderFooterViewWithIdentifier:ID];
- if (footer == nil) {
- // 缓存池中没有, 自己创建
- footer = [[self alloc] initWithReuseIdentifier:ID];
- }
- return footer;
- }
- - (void)bindViewModel:(RQCommonGroupViewModel *)viewModel{
- self.viewModel = viewModel;
- if (viewModel.groupModel) {
- if (!RQObjectIsNil(self.viewModel.groupModel.footerBgColor)) {
- self.contentView.backgroundColor = self.viewModel.groupModel.footerBgColor;
- if (self.viewModel.groupModel.footerBgColor == UIColor.clearColor) {
- self.hidden = YES;
- } else {
- self.hidden = NO;
- }
- }
-
- if (RQStringIsNotEmpty(self.viewModel.groupModel.footer)) {
- self.hidden = NO;
- self.contentLabel.text = self.viewModel.groupModel.footer;
- if (!RQObjectIsNil(self.viewModel.groupModel.footerFont)) {
- self.contentLabel.font = self.viewModel.groupModel.footerFont;
- }
- if (!RQObjectIsNil(self.viewModel.groupModel.footerLabelColor)) {
- self.contentLabel.textColor = self.viewModel.groupModel.footerLabelColor;
- }
- [self.contentLabel mas_updateConstraints:^(MASConstraintMaker *make) {
- make.size.mas_equalTo(CGSizeMake(RQ_SCREEN_WIDTH - 40, self.viewModel.groupModel.footerHeight));
- }];
- }
-
- } else {
- self.contentLabel.text = viewModel.footer;
- }
- }
- #pragma mark - 私有方法
- - (instancetype)initWithReuseIdentifier:(NSString *)reuseIdentifier
- {
- if (self = [super initWithReuseIdentifier:reuseIdentifier]) {
- // 初始化
- [self _setup];
-
- // 创建自控制器
- [self _setupSubViews];
-
- // 布局子控件
- [self _makeSubViewsConstraints];
- }
- return self;
- }
- #pragma mark - 初始化
- - (void)_setup{
- ///
- self.contentView.backgroundColor = RQ_LIST_BACKGROUNDCOLOR;
-
- }
- #pragma mark - 创建自控制器
- - (void)_setupSubViews{
- // label
- UILabel *contentLabel = [[UILabel alloc] init];
- contentLabel.textColor = RQColorFromHexString(@"#888888");
- contentLabel.font = RQRegularFont_14;
- contentLabel.numberOfLines = 0;
- contentLabel.textAlignment = NSTextAlignmentLeft;
- [self.contentView addSubview:contentLabel];
- self.contentLabel = contentLabel;
- }
- #pragma mark - 布局子控件
- - (void)_makeSubViewsConstraints{
- @weakify(self)
- [self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- @strongify(self)
- make.left.mas_equalTo(self.contentView).mas_offset(20);
- make.centerY.mas_equalTo(self.contentView);
- make.size.mas_equalTo(CGSizeMake(RQ_SCREEN_WIDTH - 40, self.contentView.height));
- }];
- }
- @end
|