// // FKBindIdCardPickVIew.m // FirstLink // // Created by jack on 15/11/3. // Copyright © 2015年 FirstLink. All rights reserved. // #import "FKBindIdCardPickCell.h" #define DEFAULT_BIND_ADD_IMG ([UIImage imageNamed:@"idCardAdd"]) #define ID_CARD_IMG_H 210 #define ID_CARD_IMG_W 250 @implementation FKBindIdCardPickCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { self.contentView.backgroundColor = UIColorFromRGB(0xffffff); self.selectionStyle = UITableViewCellSelectionStyleNone; [self addAllSubviews]; } return self; } - (void)addAllSubviews{ UIImageView *faceContainer = ({ UIImageView *imageView = [[UIImageView alloc]initWithImage:DEFAULT_BIND_ADD_IMG]; imageView.layer.cornerRadius = 5; imageView.layer.masksToBounds = YES; imageView; }); [self.contentView addSubview:faceContainer]; [faceContainer mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.contentView).offset(35); make.centerX.equalTo(self.contentView.mas_centerX).multipliedBy(0.5); make.width.mas_equalTo(125); make.height.mas_equalTo(105); }]; [self.contentView addSubview:self.faceImgView]; [self.faceImgView mas_makeConstraints:^(MASConstraintMaker *make) { make.center.equalTo(faceContainer); make.width.equalTo(faceContainer).offset(- 3); make.height.equalTo(faceContainer).offset(- 3); }]; UIImageView *inverseContainer = ({ UIImageView *imageView = [[UIImageView alloc]initWithImage:DEFAULT_BIND_ADD_IMG]; imageView.layer.cornerRadius = 5; imageView.layer.masksToBounds = YES; imageView; }); [self.contentView addSubview:inverseContainer]; [inverseContainer mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.faceImgView); make.centerX.equalTo(self.contentView.mas_centerX).multipliedBy(1.5); make.width.mas_equalTo(125); make.height.mas_equalTo(105); }]; [self.contentView addSubview:self.inverseImgView]; [self.inverseImgView mas_makeConstraints:^(MASConstraintMaker *make) { make.center.equalTo(inverseContainer); make.width.equalTo(inverseContainer).offset(- 3); make.height.equalTo(inverseContainer).offset(- 3); }]; [self.contentView addSubview:self.faceRemoveBtn]; [self.faceRemoveBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.faceImgView.mas_right).offset(- 15); make.centerY.equalTo(self.faceImgView.mas_top); make.width.height.mas_equalTo(@25); }]; [self.contentView addSubview:self.inverseRemoveBtn]; [self.inverseRemoveBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.inverseImgView.mas_right).offset(- 15); make.centerY.equalTo(self.inverseImgView.mas_top); make.width.height.mas_equalTo(@25); }]; UILabel *faceLabel = ({ UILabel *label = [[UILabel alloc] init]; label.text = @"身份证正面照"; label.textColor = UIColorFromRGB(0x666666); label.font = [UIFont systemFontOfSize:14]; [label setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical]; label; }); [self.contentView addSubview:faceLabel]; [faceLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.faceImgView.mas_bottom).offset(15); make.centerX.equalTo(self.faceImgView); }]; UILabel *inverseLabel = ({ UILabel *label = [[UILabel alloc] init]; label.text = @"身份证反面照"; label.textColor = UIColorFromRGB(0x666666); label.font = [UIFont systemFontOfSize:14]; label; }); [self.contentView addSubview:inverseLabel]; [inverseLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.inverseImgView.mas_bottom).offset(15); make.centerX.equalTo(self.inverseImgView); }]; UILabel *promptLabel = ({ UILabel *label = [[UILabel alloc] init]; label.text = @"(身份证号及照片仅用于清关用途,请放心上传)"; label.textColor = UIColorFromRGB(0x999999); label.font = [UIFont systemFontOfSize:14]; label; }); [self.contentView addSubview:promptLabel]; [promptLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(faceLabel.mas_bottom).offset(15); make.centerX.equalTo(self.contentView); }]; UILabel *cardLabel = ({ UILabel *label = [[UILabel alloc]init]; label.textColor = UIColorFromRGB(0x333333); label.font = [UIFont systemFontOfSize:15]; label.text = @"身份证号:"; [label setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; label; }); [self.contentView addSubview:cardLabel]; [cardLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(promptLabel.mas_bottom).offset(40); make.left.equalTo(faceContainer); }]; UIView *inputLine = ({ UIView *view = [[UIView alloc]init]; view.backgroundColor = UIColorFromRGB(0xcccccc); view; }); [self.contentView addSubview:inputLine]; [inputLine mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.mas_equalTo(cardLabel).offset(2); make.left.equalTo(cardLabel.mas_right).offset(2); make.right.equalTo(self.inverseImgView); make.height.mas_equalTo(0.5); }]; [self.contentView addSubview:self.textField]; [self.textField mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(inputLine); make.centerY.equalTo(cardLabel).offset(0); make.height.mas_equalTo(30); make.width.mas_equalTo(inputLine).offset(- 30); }]; [self.contentView addSubview:self.moreIdBtn]; [self.moreIdBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(inputLine.mas_right).offset(- 3); make.centerY.equalTo(self.textField); make.width.height.mas_equalTo(35); }]; [self.contentView addSubview:self.saveBtn]; [self.saveBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(cardLabel.mas_bottom).offset(30); make.centerX.equalTo(self.contentView); make.width.mas_equalTo(290); make.height.mas_equalTo(35); }]; [self.contentView addSubview:self.cancelBtn]; [self.cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.saveBtn.mas_bottom).offset(20); make.centerX.equalTo(self.contentView); make.width.mas_equalTo(290); make.height.mas_equalTo(35); }]; } + (NSString *)cdnImgUrlStrWithUrlString:(NSString *)url{ if (url.length == 0) return nil; return [NSString stringWithFormat:@"%@%@", url, [FLStringHelper cdnParamaterString:ID_CARD_IMG_W height:ID_CARD_IMG_H]]; } #pragma mark - action - (void)clickAcitonBtn:(UIButton *)sender{ if ([self.delegate respondsToSelector:@selector(didClickBtnWithActionType:)]) { [self.delegate didClickBtnWithActionType:sender.tag]; } } - (void)clickAddImgView:(UITapGestureRecognizer *)tap{ if ([tap.view isKindOfClass:[UIImageView class]]){ kPickCellActionType actionType = tap.view.tag == 0 ? kAcitonTypePickFace : kAcitonTypePickInverse; if ([self.delegate respondsToSelector:@selector(didClickBtnWithActionType:)]) { [self.delegate didClickBtnWithActionType:actionType]; } } } - (void)clickRemoveBtn:(UIButton *)sender{ if (sender.tag == kAcitonTypeRemoveFace) { self.faceImgView.image = nil; self.faceRemoveBtn.hidden = YES; }else if (sender.tag == kAcitonTypeRemoveInverse){ self.inverseImgView.image = nil; self.inverseRemoveBtn.hidden = YES; } if ([self.delegate respondsToSelector:@selector(didClickBtnWithActionType:)]) { [self.delegate didClickBtnWithActionType:sender.tag]; } } #pragma mark - UITextFieldDelegate - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } #pragma mark - property - (UIImageView *)faceImgView{ if (_faceImgView == nil) { _faceImgView = [[UIImageView alloc]init]; _faceImgView.userInteractionEnabled = YES; _faceImgView.tag = 0; _faceImgView.layer.cornerRadius = 5; _faceImgView.layer.masksToBounds = YES; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickAddImgView:)]; tap.numberOfTapsRequired = 1; [_faceImgView addGestureRecognizer:tap]; } return _faceImgView; } - (UIImageView *)inverseImgView{ if (_inverseImgView == nil) { _inverseImgView = [[UIImageView alloc]init]; _inverseImgView.userInteractionEnabled = YES; _inverseImgView.tag = 1; _inverseImgView.layer.cornerRadius = 5; _inverseImgView.layer.masksToBounds = YES; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickAddImgView:)]; tap.numberOfTapsRequired = 1; [_inverseImgView addGestureRecognizer:tap]; } return _inverseImgView; } - (UIButton *)moreIdBtn{ if (_moreIdBtn == nil) { _moreIdBtn = [UIButton buttonWithType:UIButtonTypeCustom]; _moreIdBtn.tag = kAcitonTypeMoreIdCard; [_moreIdBtn setImage:[UIImage imageNamed:@"Alpha3_more_icon"] forState:UIControlStateNormal]; [_moreIdBtn addTarget:self action:@selector(clickAcitonBtn:) forControlEvents:UIControlEventTouchUpInside]; } return _moreIdBtn; } - (UIButton *)saveBtn{ if (_saveBtn == nil) { _saveBtn = [UIButton buttonWithType:UIButtonTypeCustom]; _saveBtn.titleLabel.font = [UIFont systemFontOfSize:15]; _saveBtn.layer.cornerRadius = 4; _saveBtn.tag = kAcitonTypeSave; [_saveBtn setBackgroundColor:UIColorFromRGB(0xff6362)]; [_saveBtn setTitle:@"保 存" forState:UIControlStateNormal]; [_saveBtn setTitleColor:UIColorFromRGB(0xffffff) forState:UIControlStateNormal]; [_saveBtn addTarget:self action:@selector(clickAcitonBtn:) forControlEvents:UIControlEventTouchUpInside]; } return _saveBtn; } - (UIButton *)cancelBtn{ if (_cancelBtn == nil) { _cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom]; _cancelBtn.titleLabel.font = [UIFont systemFontOfSize:15]; _cancelBtn.layer.cornerRadius = 4; _cancelBtn.tag = kAcitonTypeCancel; [_cancelBtn setBackgroundColor:UIColorFromRGB(0x49d0bb)]; [_cancelBtn setTitle:@"下次再说" forState:UIControlStateNormal]; [_cancelBtn setTitleColor:UIColorFromRGB(0x333333) forState:UIControlStateNormal]; [_cancelBtn addTarget:self action:@selector(clickAcitonBtn:) forControlEvents:UIControlEventTouchUpInside]; } return _cancelBtn; } - (UIButton *)faceRemoveBtn{ if (_faceRemoveBtn == nil) { _faceRemoveBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [_faceRemoveBtn setImage:[UIImage imageNamed:@"red_remove"] forState:UIControlStateNormal]; [_faceRemoveBtn addTarget:self action:@selector(clickRemoveBtn:) forControlEvents:UIControlEventTouchUpInside]; _faceRemoveBtn.tag = kAcitonTypeRemoveFace; } return _faceRemoveBtn; } - (UIButton *)inverseRemoveBtn{ if (_inverseRemoveBtn == nil) { _inverseRemoveBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [_inverseRemoveBtn setImage:[UIImage imageNamed:@"red_remove"] forState:UIControlStateNormal]; [_inverseRemoveBtn addTarget:self action:@selector(clickRemoveBtn:) forControlEvents:UIControlEventTouchUpInside]; _inverseRemoveBtn.tag = kAcitonTypeRemoveInverse; } return _inverseRemoveBtn; } - (UITextField *)textField{ if (_textField == nil) { _textField = [[UITextField alloc]init]; _textField.delegate = self; _textField.returnKeyType = UIReturnKeyDone; } return _textField; } @end