#import "QHArbCollectionViewCell.h"@interface QHArbFourTableViewCell()@end@implementation QHArbFourTableViewCell- (void)awakeFromNib { [super awakeFromNib]; self.selectionStyle = UITableViewCellSelectionStyleNone; self.myCollectionView.dataSource = self; self.myCollectionView.delegate = self; self.myCollectionView.scrollEnabled = NO; self.myCollectionView.backgroundColor = [UIColor whiteColor]; [self.myCollectionView registerNib:[UINib nibWithNibName:@"QHArbCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"QHArbCollectionViewCell"]; // Initialization code}+ (NSString *)identifier { return @"QHArbFourTableViewCell";}- (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state}- (void)clickBtn:(void (^)( ))btnBlock { _btnBlock = btnBlock;}- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return _dataArray.count+1;}- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { QHArbCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QHArbCollectionViewCell" forIndexPath:indexPath]; if (indexPath.row == _dataArray.count) { cell.image = [UIImage imageNamed:@"friend_add_Groupadd"]; }else{ cell.image = _dataArray[indexPath.row]; } return cell;}- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { return CGSizeMake((Width-20)/4, (Width-20)/4);}-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.row == _dataArray.count) { if (_btnBlock) { _btnBlock(); } } }- (void)setDataArray:(NSArray *)dataArray{ _dataArray = dataArray; [self.myCollectionView reloadData];}- (CGFloat )cellHeight{ if ((_dataArray.count +1)%4 ==0) { return 82 +(_dataArray.count +1)/4*(Width-20)/4; } return 82 + ((_dataArray.count +1)/4+1)*(Width-20)/4;}@end
#import "QHP2PArbitrateModel.h"@interface QHArbFourTableViewCell : UITableViewCell@property (weak, nonatomic) IBOutlet UILabel *imageTitleLabel;@property (weak, nonatomic) IBOutlet UILabel *infoLabel;@property (weak, nonatomic) IBOutlet UICollectionView *myCollectionView;@property (copy, nonatomic) NSArray *dataArray;@property (copy, nonatomic) void(^btnBlock)();@property (weak, nonatomic) IBOutlet NSLayoutConstraint *infoLabelHeight;@property (nonatomic, strong) QHP2PArbitrateModel *model;+ (NSString *)identifier;- (void)clickBtn:(void(^)())btnBlock;- (CGFloat )cellHeight;@end
在VC.m中调用
QHArbFourTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[QHArbFourTableViewCell identifier]];cell.dataArray = _images;return [cell cellHeight];;
效果图如下图所示: