// // GiGaUserJobViewCell.m // GIGA // // Created by lianxiang on 2018/9/17. // Copyright © 2018年 com.giga.ios. All rights reserved. // #import "GiGaUserJobViewCell.h" #import "JobMaskButton.h" #define SPACE_X 8.f //横向间隔 #define SPACE_Y 8.f //纵向间隔 #define MAR_GAINX 22.f //左右边距 #define MARK_H 31.f //高 @interface GiGaUserJobViewCell() @property (nonatomic,assign) int countY; @property (nonatomic,assign) int countX; @property (nonatomic) CGFloat btnMaXY; @end @implementation GiGaUserJobViewCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.selectionStyle = UITableViewCellSelectionStyleNone; _countY = 0; _countX = 0; _btnMaXY = 10; [self creatUI]; self.jobs = [NSArray new]; //self.backgroundColor = [UIColor blueColor]; } return self; } -(void)creatUI{ [self addSubview:self.upDownBtn]; } -(void)updateActionBtnFrame{ _upDownBtn.frame = CGRectMake(KMainW - 22 - 55,_btnMaXY, 55, 31); } - (UIButton *)upDownBtn{ if (!_upDownBtn) { _upDownBtn = [UIButton buttonWithType:UIButtonTypeCustom]; _upDownBtn.frame = CGRectMake(KMainW - 22 - 55,_btnMaXY, 55, 31); [_upDownBtn addTarget:self action:@selector(upDownBtnAction:) forControlEvents:UIControlEventTouchUpInside]; } return _upDownBtn; } -(void)upDownBtnAction:(UIButton *)btn{ if (btn.selected) { NSLog(@"up"); }else{ NSLog(@"down"); } //btn.selected = btn.selected; self.actionblock(); } -(void)setButtnImage:(BOOL)isUp with:(NSArray *)jobs{ self.jobs = jobs; if (isUp) { [self setUpUPSubViewstitles:jobs isUp:isUp]; }else{ [self setUpDownSubviewstitles:jobs isUp:isUp]; } } -(void)setUpUPSubViewstitles:(NSArray *)jobs isUp:(BOOL)isUp{ //展开状态 [_upDownBtn setBackgroundImage:[UIImage imageNamed:@"userjob_up"] forState:UIControlStateNormal]; if (jobs.count > 0) { for (JobMaskButton *btn in self.subviews) { if ([btn isKindOfClass:[JobMaskButton class]]) { [btn removeFromSuperview]; } } _countX =0; _countY = 0; CGFloat X = MAR_GAINX; for (int i=0; i 0) { // [titles enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { // NSString *title = obj; // [self creatjob:title index:idx]; // }]; for (JobMaskButton *btn in self.subviews) { if ([btn isKindOfClass:[JobMaskButton class]]) { [btn removeFromSuperview]; } } _countX =0; _countY = 0; CGFloat X = MAR_GAINX; for (int i=0; i (KMainW - 55 - 22)){ return; } }else{ if (_countY == 0) { if ((X + width + SPACE_X) > (KMainW - 55 - 22)){ _countY ++; _countX = 0; } }else{ if ((X + width + SPACE_X) > (KMainW - 22 - width)){ _countY ++; _countX = 0; } if (idx == self.jobs.count - 1) { _btnMaXY = Y; [self updateActionBtnFrame]; } } } JobMaskButton *jobBtn = [JobMaskButton buttonWithType:UIButtonTypeCustom]; //[jobBtn setBackgroundImage:[UIImage imageNamed:@"btn_job"] forState:UIControlStateNormal]; jobBtn.layer.masksToBounds =YES; jobBtn.layer.cornerRadius = MARK_H /2; jobBtn.layer.borderWidth = 1; jobBtn.layer.borderColor = GIGARGB(222, 222, 222, 1).CGColor; jobBtn.job = job; if (!job.dictLabel) { job.dictLabel = @"??"; } NSAttributedString *attri = [GiGaHelper stringWithText:job.dictLabel textColor:GIGARGB(151, 151, 151, 1) textFont:GIGA_TEXTFONTMEDIUM(13) leterSpace:0]; [jobBtn setAttributedTitle:attri forState:UIControlStateNormal]; jobBtn.frame = CGRectMake(X,Y,width, MARK_H); [jobBtn addTarget:self action:@selector(jobClick:) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:jobBtn]; } -(void)userSelectjobAction:(jobBtnAction)block{ self.actionblock = block; } -(void)userSelectjob:(jobSelectAction)block{ self.jobblock = block; } -(void)jobClick:(JobMaskButton *)btn{ self.jobblock(btn.job); } - (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