// // ASSginView.m // Asteria // // Created by iOS on 2023/5/16. // #import "ASSginView.h" #import "ASSignDayView.h" @interface ASSginView () @property (nonatomic, strong) UIView *bgV; @property (nonatomic, strong) UIView *colorBgV; @property (nonatomic, strong) UIView *baseLineV; @property (nonatomic, strong) UIView *waitSignLineV; @property (nonatomic, strong) UIView *unSignLineV; @property (nonatomic, strong) NSArray *dayArr; @property (nonatomic, strong) UILabel *titleLb; @property (nonatomic, strong) UIButton *signBt; @end @implementation ASSginView - (void)configDayArr:(NSInteger)from currentDay:(NSInteger)current status:(BOOL)isSign { self.unSignLineV.hidden = true; self.waitSignLineV.hidden = true; self.signBt.backgroundColor = isSign ? Col_999 : Col_000; for (ASSignDayView *v in self.dayArr) { if (v.superview) { [v removeFromSuperview]; } } self.dayArr = @[]; NSMutableArray *arr = [NSMutableArray array]; for (NSInteger i = from; i < from + 7; i++) { ASSignDayView *v = [[ASSignDayView alloc] initWithFrame:CGRectZero]; v.tag = 10000+i; [arr addObject:v]; [self.bgV addSubview:v]; CGFloat space = (KScreenWidth-60-11*7)/6; if (current > i) { [v setDay:i st:true isToday:false]; } else if (current == i) { [v setDay:i st:isSign isToday:true]; if (!isSign) { self.waitSignLineV.hidden = false; [self.waitSignLineV mas_remakeConstraints:^(MASConstraintMaker *make) { make.trailing.equalTo(v.statusImgV.mas_centerX); make.width.equalTo([NSNumber numberWithFloat:space+11]); make.height.equalTo(@1); make.centerY.equalTo(self.baseLineV); }]; } self.unSignLineV.hidden = false; [self.unSignLineV mas_remakeConstraints:^(MASConstraintMaker *make) { make.trailing.equalTo(self.baseLineV.mas_trailing); make.leading.equalTo(v.statusImgV.mas_centerX); make.height.equalTo(@1); make.centerY.equalTo(self.baseLineV); }]; } else { [v setDay:i st:false isToday:false]; } [v mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.baseLineV.mas_left).offset((i-from)*(space + 11)+5.5); make.bottom.equalTo(self.baseLineV.mas_centerY).offset(5.5); }]; } } - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { [self loadSubV]; } return self; } - (void)loadSubV { [self addSubview:self.bgV]; [self.bgV addSubview:self.titleLb]; [self.bgV addSubview:self.signBt]; [self.bgV addSubview:self.baseLineV]; [self.bgV addSubview:self.waitSignLineV]; [self.bgV addSubview:self.unSignLineV]; self.unSignLineV.hidden = true; self.waitSignLineV.hidden = true; [self.bgV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.leading.equalTo(self).offset(10); make.bottom.trailing.equalTo(self).offset(-10); }]; [self.titleLb mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.bgV).offset(10); make.leading.equalTo(self.bgV).offset(20); make.trailing.equalTo(self.bgV).offset(-20); make.height.equalTo(@19); }]; [self.baseLineV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.titleLb.mas_bottom).offset(49); make.leading.equalTo(self.bgV).offset(20); make.trailing.equalTo(self.bgV).offset(-20); make.height.equalTo(@1); }]; [self.signBt mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.baseLineV.mas_bottom).offset(24); make.leading.equalTo(self.bgV).offset(20); make.trailing.equalTo(self.bgV).offset(-20); make.height.equalTo(@45); make.bottom.equalTo(self.bgV).offset(-15); }]; [self.unSignLineV mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.equalTo(@0); }]; [self.waitSignLineV mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.equalTo(@0); }]; dispatch_async(dispatch_get_main_queue(), ^{ [UIView viewAddHorColorBg:self.colorBgV colorArr:@[ (id)_C8FFED.CGColor, (id)Col_FFF.CGColor ]]; }); } - (UIView *)bgV { if (!_bgV) { UIView *v = [UIView baseV]; v.layer.cornerRadius = 8; v.layer.masksToBounds = true; v.backgroundColor = _F8F8F8; _bgV = v; } return _bgV; } - (UIView *)colorBgV { if (!_colorBgV) { UIView *v = [UIView baseV]; v.layer.cornerRadius = 8; v.layer.masksToBounds = true; v.backgroundColor = _F8F8F8; _colorBgV = v; } return _colorBgV; } - (UIView *)baseLineV { if (!_baseLineV) { UIView *v = [UIView baseV]; v.backgroundColor = _113632; _baseLineV = v; } return _baseLineV; } - (UIView *)waitSignLineV { if (!_waitSignLineV) { UIView *v = [UIView baseV]; v.backgroundColor = Col_666; _waitSignLineV = v; } return _waitSignLineV; } - (UIView *)unSignLineV { if (!_unSignLineV) { UIView *v = [UIView baseV]; v.backgroundColor = _E5E5E5; _unSignLineV = v; } return _unSignLineV; } - (UILabel *)titleLb { if (!_titleLb) { UILabel *lb = [UILabel baseLb]; lb.font = [UIFont fontWithName:Rob_Bold size:16]; lb.text = @"SIGN"; lb.textColor = Col_000; _titleLb = lb; } return _titleLb; } - (UIButton *)signBt { if (!_signBt) { UIButton *bt = [UIButton buttonWithType:UIButtonTypeCustom]; [bt setTitle:@"Sign In" forState:UIControlStateNormal]; bt.layer.cornerRadius = 4; bt.layer.masksToBounds = true; [bt setTitleColor:Col_FFF forState:UIControlStateNormal]; bt.titleLabel.font = [UIFont fontWithName:Rob_Bold size:16]; bt.backgroundColor = Col_000; _signBt = bt; } return _signBt; } @end