1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- //
- // RQCommonHeaderView.m
- // RQCommon
- //
- // Created by 张嵘 on 2018/11/27.
- // Copyright © 2018 张嵘. All rights reserved.
- //
- #import "RQCommonHeaderView.h"
- #import "RQCommonGroupViewModel.h"
- @interface RQCommonHeaderView ()
- /// viewModel
- @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *viewModel;
- /// contentLabel
- @property (nonatomic, readwrite, weak) UILabel *contentLabel;
- @end
- @implementation RQCommonHeaderView
- #pragma mark - 公共方法
- + (instancetype)headerViewWithTableView:(UITableView *)tableView{
- static NSString *ID = @"CommonHeader";
- RQCommonHeaderView *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:ID];
- if (header == nil) {
- // 缓存池中没有, 自己创建
- header = [[self alloc] initWithReuseIdentifier:ID];
- }
- return header;
- }
- - (void)bindViewModel:(RQCommonGroupViewModel *)viewModel {
- self.viewModel = viewModel;
-
- self.contentLabel.text = viewModel.header;
- }
- #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
- {
- [self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
- 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
|