//
|
// PBPersonChooseTableViewCell.m
|
// IphoneBIMe
|
//
|
// Created by zjf on 2020/12/3.
|
// Copyright © 2020 ProBIM. All rights reserved.
|
//
|
|
#import "PBPersonChooseTableViewCell.h"
|
#import "PBExamineAddModel.h"
|
#import "PBPersonListView.h"
|
#import "PBPersonModel.h"
|
#import "MSSAutoresizeLabelFlowLayout.h"
|
#import "PBPersonListCollectionViewCell.h"
|
#import "MSSAutoresizeLabelFlowConfig.h"
|
static NSString *const cellId = @"cellId";
|
@interface PBPersonChooseTableViewCell()<UICollectionViewDataSource,UICollectionViewDelegate, MSSAutoresizeLabelFlowLayoutDataSource,MSSAutoresizeLabelFlowLayoutDelegate>
|
@property (nonatomic,strong) UICollectionView *collection;
|
@property (nonatomic,strong) NSMutableArray *data;
|
//@property (nonatomic,copy) selectedHandler handler;
|
@property (nonatomic, weak) UILabel *titleL;
|
@property (nonatomic, weak) UILabel *personL;
|
@property (nonatomic, weak) UIButton *chooseBtn;
|
@property (nonatomic, weak) UIButton *totalNumberBtn;
|
@property (nonatomic, weak) UIView *collectionBg;
|
@property (nonatomic, assign) BOOL isLayout;
|
@property (nonatomic, assign) CGFloat height;
|
@end
|
@implementation PBPersonChooseTableViewCell
|
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
[self setupUI];
|
}
|
return self;
|
}
|
- (void)setupUI {
|
// self.contentView.backgroundColor = [UIColor blueColor];
|
UILabel *titleL = [UILabel z_labelWithText:@"检查人" Color:PBColor(102, 102, 102) isBold:NO Font:15];
|
[self.contentView addSubview:titleL];
|
[titleL mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.top.equalTo(self.contentView).offset(15);
|
make.left.equalTo(self.contentView).offset(15);
|
make.width.equalTo(@100);
|
make.height.equalTo(@18);
|
}];
|
UILabel *personL = [UILabel z_labelWithText:@"请指定检查人" Color:PBColor(79, 40, 58) isBold:NO Font:15];
|
[self.contentView addSubview:personL];
|
[personL mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.left.equalTo(self.contentView).offset(116);
|
make.right.equalTo(self.contentView).offset(-15);
|
make.top.equalTo(titleL);
|
make.height.equalTo(@18);
|
}];
|
UIButton *chooseBtn = [UIButton z_bgImageButton:[UIImage imageNamed:@"set_arrow_right"]];
|
[chooseBtn addTarget:self action:@selector(chooseTime) forControlEvents:UIControlEventTouchUpInside];
|
[self.contentView addSubview:chooseBtn];
|
[chooseBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.centerY.equalTo(titleL);
|
make.size.mas_equalTo(CGSizeMake(16, 16));
|
make.right.equalTo(self.contentView).offset(-15);
|
}];
|
UIButton *btn = [[UIButton alloc] init];
|
[btn addTarget:self action:@selector(chooseTime) forControlEvents:UIControlEventTouchUpInside];
|
[self.contentView addSubview:btn];
|
[btn mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.top.left.right.bottom.equalTo(self.contentView);
|
}];
|
|
self.titleL = titleL;
|
self.personL = personL;
|
self.chooseBtn = chooseBtn;
|
|
// UIView *collectionBg = [[UIView alloc] init];
|
// collectionBg.backgroundColor = [UIColor yellowColor];
|
// [self.contentView addSubview:collectionBg];
|
// [collectionBg mas_makeConstraints:^(MASConstraintMaker *make) {
|
// make.top.equalTo(self.contentView).offset(53);
|
// make.left.equalTo(self.contentView).offset(100);
|
// make.right.equalTo(self.contentView).offset(-20);
|
// make.height.equalTo(@1);
|
// make.bottom.equalTo(self.contentView).offset(-15);
|
// }];
|
|
MSSAutoresizeLabelFlowLayout *layout = [[MSSAutoresizeLabelFlowLayout alloc]init];
|
layout.delegate = self;
|
layout.dataSource = self;
|
self.collection = [[UICollectionView alloc]initWithFrame:CGRectZero collectionViewLayout:layout];
|
self.collection.backgroundColor = [UIColor whiteColor];
|
self.collection.allowsMultipleSelection = YES;
|
self.collection.delegate = self;
|
self.collection.dataSource = self;
|
// self.collection.scrollEnabled = NO;
|
[self.collection registerClass:[PBPersonListCollectionViewCell class] forCellWithReuseIdentifier:cellId];
|
[self.contentView addSubview:self.collection];
|
[self.collection mas_makeConstraints:^(MASConstraintMaker *make) {
|
// make.top.left.right.bottom.equalTo(collectionBg);
|
make.top.equalTo(self.contentView).offset(53);
|
make.left.equalTo(self.contentView).offset(100);
|
make.right.equalTo(self.contentView).offset(-20);
|
make.height.equalTo(@1);
|
make.bottom.equalTo(self.contentView).offset(-15);
|
}];
|
|
UIButton *totalNumberBtn = [[UIButton alloc] init];
|
[totalNumberBtn addTarget:self action:@selector(totalNumberBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
[totalNumberBtn setTitle:@"查看全部" forState:UIControlStateNormal];
|
[totalNumberBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
totalNumberBtn.backgroundColor = PBColor(0, 122, 255);
|
[self.contentView addSubview:totalNumberBtn];
|
[totalNumberBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.top.equalTo(self.collection.mas_bottom);
|
make.left.equalTo(personL);
|
make.height.equalTo(@32);
|
}];
|
totalNumberBtn.layer.cornerRadius = 6;
|
totalNumberBtn.layer.masksToBounds = YES;
|
self.totalNumberBtn = totalNumberBtn;
|
self.totalNumberBtn.hidden = YES;
|
// self.collectionBg = collectionBg;
|
|
}
|
- (void)totalNumberBtnAction {
|
NSLog(@"查看全部人员");
|
if (self.LookAllBlock) {
|
self.LookAllBlock();
|
}
|
}
|
- (void)chooseTime {
|
if (self.ChooseBlock) {
|
self.ChooseBlock();
|
}
|
}
|
- (void)setExamineAddModel:(PBExamineAddModel *)examineAddModel {
|
_examineAddModel = examineAddModel;
|
self.data = [[NSMutableArray alloc] init];
|
self.data = examineAddModel.personArr.mutableCopy;
|
[self.collection reloadData];
|
[self.collection layoutIfNeeded];
|
if (self.examineAddModel.personArr.count > 0) {
|
[self.collection mas_updateConstraints:^(MASConstraintMaker *make) {
|
make.height.equalTo(@(76));
|
// make.bottom.equalTo(self.contentView).offset(-(bottom));
|
}];
|
}else {
|
[self.collection mas_updateConstraints:^(MASConstraintMaker *make) {
|
make.height.equalTo(@(1));
|
// make.bottom.equalTo(self.contentView).offset(-(bottom));
|
}];
|
}
|
|
self.titleL.text = examineAddModel.title;
|
// if (examineAddModel.personArr.count > 10) {
|
// self.totalNumberBtn.hidden = NO;
|
// }else {
|
// self.totalNumberBtn.hidden = YES;
|
// }
|
if (examineAddModel.personArr.count > 0) {
|
self.personL.textColor = PBColor(40, 58, 79);
|
self.personL.text = [NSString stringWithFormat:@"已选择%zd人", examineAddModel.personArr.count];
|
}else {
|
self.personL.textColor = PBColor(204, 204, 204);
|
self.personL.text = examineAddModel.prompt;
|
}
|
|
// if (self.data.count == 0) {
|
// [self.collectionBg mas_updateConstraints:^(MASConstraintMaker *make) {
|
// make.height.equalTo(@1);
|
// }];
|
// }
|
|
|
// [self.collection setNeedsLayout];
|
// [self.collection layoutIfNeeded];
|
|
// if (self.examineAddModel.personArr.count > 0) {
|
// NSLog(@"hhhhhhhhhhhhhhhhh-%f-%f",self.collection.contentSize.height,self.height);
|
// NSLog(@"wwwwwwwwwwwww-%f",self.collection.collectionViewLayout.collectionViewContentSize.height);
|
// [self.collection mas_updateConstraints:^(MASConstraintMaker *make) {
|
// make.height.equalTo(@(self.collection.collectionViewLayout.collectionViewContentSize.height));
|
//// make.bottom.equalTo(self.contentView).offset(-(bottom));
|
// }];
|
// }else {
|
// [self.collection mas_updateConstraints:^(MASConstraintMaker *make) {
|
// make.height.equalTo(@(1));
|
//// make.bottom.equalTo(self.contentView).offset(-(bottom));
|
// }];
|
// }
|
|
|
}
|
|
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
|
return 1;
|
}
|
|
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
|
// if (self.data.count > 10) {
|
// return 10;
|
// }else {
|
return self.data.count;
|
// }
|
}
|
|
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
|
PBPersonListCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];
|
PBPersonModel *model = self.data[indexPath.item];
|
[cell configCellWithTitle:model.RealName];
|
return cell;
|
}
|
|
- (NSString *)titleForLabelAtIndexPath:(NSIndexPath *)indexPath {
|
PBPersonModel *model = self.data[indexPath.item];
|
return model.RealName;
|
}
|
|
- (void)layoutFinishWithNumberOfline:(NSInteger)number {
|
NSLog(@"===-=-=-=-=-=-=-=%zd",number);
|
// static NSInteger numberCount;
|
// if (numberCount == number) {
|
// return;
|
// }
|
// numberCount = number;
|
MSSAutoresizeLabelFlowConfig *config = [MSSAutoresizeLabelFlowConfig shareConfig];
|
CGFloat h = config.contentInsets.top+config.contentInsets.bottom+config.itemHeight*number+config.lineSpace*(number-1);
|
self.height = h;
|
NSLog(@"mmmmmmmmmmmmmmmm-%f",h);
|
|
// [self.contentView mas_updateConstraints:^(MASConstraintMaker *make) {
|
// make.bottom.equalTo(self.collection.mas_bottom).offset(15);
|
// }];
|
// self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, h);
|
// [UIView animateWithDuration:0.2 animations:^{
|
// self.collection.frame = self.bounds;
|
// }];
|
|
// [self.collection mas_updateConstraints:^(MASConstraintMaker *make) {
|
// make.height.equalTo(@(h));
|
// }];
|
// [self.contentView layoutIfNeeded];
|
// CGFloat botton;
|
// if (self.examineAddModel.personArr.count > 10) {
|
// botton = 15.f + 32.f;
|
// self.totalNumberBtn.hidden = NO;
|
// [self.totalNumberBtn setTitle:[NSString stringWithFormat:@"查看全部%zd个%@", self.examineAddModel.personArr.count, self.examineAddModel.title] forState:UIControlStateNormal];
|
// }else {
|
// botton = 15.f;
|
// self.totalNumberBtn.hidden = YES;
|
// }
|
// [self.collection mas_updateConstraints:^(MASConstraintMaker *make) {
|
// make.bottom.equalTo(self.contentView).offset(-(botton));
|
// }];
|
// CGFloat bottom;
|
// if (self.examineAddModel.personArr.count > 10) {
|
// self.totalNumberBtn.hidden = NO;
|
// bottom = 32 + 15;
|
// }else {
|
// self.totalNumberBtn.hidden = YES;
|
// bottom = 15;
|
// }
|
// NSLog(@"======%f",h);
|
// if (h <= 0) {
|
// h = 1.f;
|
// }
|
// self.examineAddModel.height = h;
|
// [self.collection mas_updateConstraints:^(MASConstraintMaker *make) {
|
// make.height.equalTo(@(h));
|
// make.bottom.equalTo(self.contentView).offset(-(bottom));
|
// }];
|
// if (self.examineAddModel.height == 0) {
|
//// self.examineAddModel.height = h;
|
// if (self.ReLoadBlock) {
|
// self.ReLoadBlock(h);
|
// }
|
// }
|
}
|
|
- (void)awakeFromNib {
|
[super awakeFromNib];
|
// Initialization code
|
}
|
|
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
[super setSelected:selected animated:animated];
|
|
// Configure the view for the selected state
|
}
|
|
@end
|