// // SPTakeLocationListCell.m // SpecialtyProject // // Created by xxxx on 20xx/x/x. // Copyright © 20xx年 xxxx. All rights reserved. // #import "SPTakeLocationListCell.h" @implementation SPTakeLocationListCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if(self){ _userNameAndPhoneLabel = [UILabel new]; [_userNameAndPhoneLabel setTranslatesAutoresizingMaskIntoConstraints:NO]; _userNameAndPhoneLabel.backgroundColor = [UIColor clearColor]; [_userNameAndPhoneLabel setTextColor:[UIColor blackColor]]; [_userNameAndPhoneLabel setFont:[CWFont setSysFontSize:ScaleForLengthWith2(28.0)]]; [self.contentView addSubview:_userNameAndPhoneLabel]; // _editOperateButton = [UILabel new]; _editOperateButton.userInteractionEnabled = YES; [_editOperateButton setTranslatesAutoresizingMaskIntoConstraints:NO]; _editOperateButton.backgroundColor = [UIColor clearColor]; [_editOperateButton setTextColor:[UIColor grayColor]]; [_editOperateButton setTextAlignment:(NSTextAlignmentCenter)]; _editOperateButton.text = @"\U0000e61c"; [_editOperateButton setFont:[CWFont setCWFontSize:ScaleForLengthWith2(46.0)]]; [self.contentView addSubview:_editOperateButton]; UITapGestureRecognizer *singTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(editAction:)]; singTap.numberOfTapsRequired = 1; [_editOperateButton addGestureRecognizer:singTap]; // _userLocationlabel = [UILabel new]; [_userLocationlabel setTranslatesAutoresizingMaskIntoConstraints:NO]; _userLocationlabel.backgroundColor = [UIColor clearColor]; [_userLocationlabel setTextColor:[UIColor darkGrayColor]]; [_userLocationlabel setFont:[CWFont setSysFontSize:ScaleForLengthWith2(24.0)]]; _userLocationlabel.numberOfLines = 0; _userLocationlabel.opaque = NO; _userLocationlabel.lineBreakMode = 0; [self.contentView addSubview:_userLocationlabel]; // _userDefaultIconLabel = [UILabel new]; [_userDefaultIconLabel setTranslatesAutoresizingMaskIntoConstraints:NO]; _userDefaultIconLabel.backgroundColor = [UIColor orangeColor]; _userDefaultIconLabel.clipsToBounds = YES; [_userDefaultIconLabel setTextAlignment:(NSTextAlignmentCenter)]; _userDefaultIconLabel.text = @"默认"; _userDefaultIconLabel.layer.cornerRadius = 2.0; [_userDefaultIconLabel setTextColor:[UIColor blackColor]]; [_userDefaultIconLabel setFont:[CWFont setSysFontSize:ScaleForLengthWith2(24.0)]]; [self.contentView addSubview:_userDefaultIconLabel]; // _horLineView = [UIView new]; [_horLineView setTranslatesAutoresizingMaskIntoConstraints:NO]; _horLineView.backgroundColor = [UIColor groupTableViewBackgroundColor]; [self.contentView addSubview:_horLineView]; // _verLineView = [UIView new]; [_verLineView setTranslatesAutoresizingMaskIntoConstraints:NO]; _verLineView.backgroundColor = [UIColor groupTableViewBackgroundColor]; [self.contentView addSubview:_verLineView]; // NSArray *lineHotConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(verSpace)-[_horLineView]-(verSpace)-|" options:0 metrics:@{@"verSpace":@(ScaleForLengthWith2(20.0))} views:NSDictionaryOfVariableBindings(_horLineView)]; [self.contentView addConstraints:lineHotConstraint]; NSArray *nameVerConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(==nameAndPhoneTopSpace)-[_userNameAndPhoneLabel(==nameAndPhoneHeight)]-(locationAndNameSpace)-[_userLocationlabel]-(locationToHerLineSpace)-[_horLineView(==horLineHeight)]|" options:0 metrics:@{@"nameAndPhoneTopSpace":@(ScaleForLengthWith2(40.0)),@"nameAndPhoneHeight":@(ScaleForLengthWith2(38.0)),@"locationAndNameSpace":@(ScaleForLengthWith2(10.0)),@"locationToHerLineSpace":@(ScaleForLengthWith2(35.0)),@"horLineHeight":@(ScaleForLengthWith2(ProjectDefaultLineHeight))} views:NSDictionaryOfVariableBindings(_userNameAndPhoneLabel,_userLocationlabel,_horLineView)]; [self.contentView addConstraints:nameVerConstraints]; // NSArray *herConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(nameLeftSpace)-[_userNameAndPhoneLabel]-(nameToDefaultSpace)-[_userDefaultIconLabel(==defaultIconLabelWidth)]-(defaultIconLabelToVerLineSpace)-[_verLineView(==verLineWidth)]-[_editOperateButton(==editButtonWidth)]-(editButtonRightSpace)-|" options:0 metrics:@{@"nameLeftSpace":@(ScaleForLengthWith2(30.0)),@"nameToDefaultSpace":@(ScaleForLengthWith2(20.0)),@"defaultIconLabelWidth":@(ScaleForLengthWith2(72.0)),@"defaultIconLabelToVerLineSpace":@(ScaleForLengthWith2(14.0)),@"verLineWidth":@(ScaleForLengthWith2(ProjectDefaultLineHeight)),@"editButtonWidth":@(ScaleForLengthWith2(88.0)),@"editButtonRightSpace":@(ScaleForLengthWith2(20.0))} views:NSDictionaryOfVariableBindings(_userNameAndPhoneLabel,_userDefaultIconLabel,_userLocationlabel,_horLineView,_verLineView,_editOperateButton)]; [self.contentView addConstraints:herConstraints]; //default icon top and size NSLayoutConstraint *defaultIconTopConstraint = [NSLayoutConstraint constraintWithItem:_userDefaultIconLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeTop multiplier:1.0 constant:ScaleForLengthWith2(66.0)]; [self.contentView addConstraint:defaultIconTopConstraint]; NSLayoutConstraint *defaultIconSizeConstraint = [NSLayoutConstraint constraintWithItem:_userDefaultIconLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:ScaleForLengthWith2(38.0)]; [self.contentView addConstraint:defaultIconSizeConstraint]; // NSArray *verLineTopConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(verLineTopAndBottomSpace)-[_verLineView]-(verLineTopAndBottomSpace)-|" options:0 metrics:@{@"verLineTopAndBottomSpace":@(ScaleForLengthWith2(26.0))} views:NSDictionaryOfVariableBindings(_verLineView)]; [self.contentView addConstraints:verLineTopConstraints]; // NSArray *editButtonTopConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_editOperateButton]-(editButtonBottomSpace)-|" options:0 metrics:@{@"editButtonBottomSpace":@(ProjectDefaultLineHeight)} views:NSDictionaryOfVariableBindings(_editOperateButton)]; [self.contentView addConstraints:editButtonTopConstraints]; //name and phone left and right NSLayoutConstraint *nameLeftConstraint = [NSLayoutConstraint constraintWithItem:_userNameAndPhoneLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:ScaleForLengthWith2(30.0)]; [self.contentView addConstraint:nameLeftConstraint]; NSLayoutConstraint *nameRightConstraint = [NSLayoutConstraint constraintWithItem:_verLineView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:_userNameAndPhoneLabel attribute:NSLayoutAttributeRight multiplier:1.0 constant:ScaleForLengthWith2(20.0)]; [self.contentView addConstraint:nameRightConstraint]; //name and phone left and right NSLayoutConstraint *locationLeftConstraint = [NSLayoutConstraint constraintWithItem:_userLocationlabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:ScaleForLengthWith2(30.0)]; [self.contentView addConstraint:locationLeftConstraint]; NSLayoutConstraint *locationRightConstraint = [NSLayoutConstraint constraintWithItem:_userDefaultIconLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:_userLocationlabel attribute:NSLayoutAttributeRight multiplier:1.0 constant:ScaleForLengthWith2(20.0)]; [self.contentView addConstraint:locationRightConstraint]; // } return self; } - (void)configLocationDataWithModel:(id)model { _userNameAndPhoneLabel.text = @"王小二 133542222222"; //_userLocationlabel.text = @"北京市昌平区天通苑老一区1单元102"; } - (void)editAction:(UITapGestureRecognizer *)tap { tap.view.alpha = 0.5; [UIView animateWithDuration:0.2 animations:^{ tap.view.alpha = 1.0; } completion:^(BOOL finished) { if(_delegate && [_delegate respondsToSelector:@selector(takeLocationListCellClickEditWithCell:)]){ [_delegate takeLocationListCellClickEditWithCell:self]; } }]; } @end
// // SPTakeLocationListCell.m // SpecialtyProject // // Created by xxxx on 20xx/x/x. // Copyright © 20xx年 xxxx. All rights reserved. // #import "SPTakeLocationListCell.h" @implementation SPTakeLocationListCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if(self){ _userNameAndPhoneLabel = [UILabel new]; [_userNameAndPhoneLabel setTranslatesAutoresizingMaskIntoConstraints:NO]; _userNameAndPhoneLabel.backgroundColor = [UIColor clearColor]; [_userNameAndPhoneLabel setTextColor:[UIColor blackColor]]; [_userNameAndPhoneLabel setFont:[CWFont setSysFontSize:ScaleForLengthWith2(28.0)]]; [self.contentView addSubview:_userNameAndPhoneLabel]; // _editOperateButton = [UILabel new]; _editOperateButton.userInteractionEnabled = YES; [_editOperateButton setTranslatesAutoresizingMaskIntoConstraints:NO]; _editOperateButton.backgroundColor = [UIColor clearColor]; [_editOperateButton setTextColor:[UIColor grayColor]]; [_editOperateButton setTextAlignment:(NSTextAlignmentCenter)]; _editOperateButton.text = @"\U0000e61c"; [_editOperateButton setFont:[CWFont setCWFontSize:ScaleForLengthWith2(46.0)]]; [self.contentView addSubview:_editOperateButton]; UITapGestureRecognizer *singTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(editAction:)]; singTap.numberOfTapsRequired = 1; [_editOperateButton addGestureRecognizer:singTap]; // _userLocationlabel = [UILabel new]; [_userLocationlabel setTranslatesAutoresizingMaskIntoConstraints:NO]; _userLocationlabel.backgroundColor = [UIColor clearColor]; [_userLocationlabel setTextColor:[UIColor darkGrayColor]]; [_userLocationlabel setFont:[CWFont setSysFontSize:ScaleForLengthWith2(24.0)]]; _userLocationlabel.numberOfLines = 0; _userLocationlabel.opaque = NO; _userLocationlabel.lineBreakMode = 0; [self.contentView addSubview:_userLocationlabel]; // _userDefaultIconLabel = [UILabel new]; [_userDefaultIconLabel setTranslatesAutoresizingMaskIntoConstraints:NO]; _userDefaultIconLabel.backgroundColor = [UIColor orangeColor]; _userDefaultIconLabel.clipsToBounds = YES; [_userDefaultIconLabel setTextAlignment:(NSTextAlignmentCenter)]; _userDefaultIconLabel.text = @"默认"; _userDefaultIconLabel.layer.cornerRadius = 2.0; [_userDefaultIconLabel setTextColor:[UIColor blackColor]]; [_userDefaultIconLabel setFont:[CWFont setSysFontSize:ScaleForLengthWith2(24.0)]]; [self.contentView addSubview:_userDefaultIconLabel]; // _horLineView = [UIView new]; [_horLineView setTranslatesAutoresizingMaskIntoConstraints:NO]; _horLineView.backgroundColor = [UIColor groupTableViewBackgroundColor]; [self.contentView addSubview:_horLineView]; // _verLineView = [UIView new]; [_verLineView setTranslatesAutoresizingMaskIntoConstraints:NO]; _verLineView.backgroundColor = [UIColor groupTableViewBackgroundColor]; [self.contentView addSubview:_verLineView]; // NSArray *lineHotConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(verSpace)-[_horLineView]-(verSpace)-|" options:0 metrics:@{@"verSpace":@(ScaleForLengthWith2(20.0))} views:NSDictionaryOfVariableBindings(_horLineView)]; [self.contentView addConstraints:lineHotConstraint]; NSArray *nameVerConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(==nameAndPhoneTopSpace)-[_userNameAndPhoneLabel(==nameAndPhoneHeight)]-(locationAndNameSpace)-[_userLocationlabel]-(locationToHerLineSpace)-[_horLineView(==horLineHeight)]|" options:0 metrics:@{@"nameAndPhoneTopSpace":@(ScaleForLengthWith2(40.0)),@"nameAndPhoneHeight":@(ScaleForLengthWith2(38.0)),@"locationAndNameSpace":@(ScaleForLengthWith2(10.0)),@"locationToHerLineSpace":@(ScaleForLengthWith2(35.0)),@"horLineHeight":@(ScaleForLengthWith2(ProjectDefaultLineHeight))} views:NSDictionaryOfVariableBindings(_userNameAndPhoneLabel,_userLocationlabel,_horLineView)]; [self.contentView addConstraints:nameVerConstraints]; // NSArray *herConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(nameLeftSpace)-[_userNameAndPhoneLabel]-(nameToDefaultSpace)-[_userDefaultIconLabel(==defaultIconLabelWidth)]-(defaultIconLabelToVerLineSpace)-[_verLineView(==verLineWidth)]-[_editOperateButton(==editButtonWidth)]-(editButtonRightSpace)-|" options:0 metrics:@{@"nameLeftSpace":@(ScaleForLengthWith2(30.0)),@"nameToDefaultSpace":@(ScaleForLengthWith2(20.0)),@"defaultIconLabelWidth":@(ScaleForLengthWith2(72.0)),@"defaultIconLabelToVerLineSpace":@(ScaleForLengthWith2(14.0)),@"verLineWidth":@(ScaleForLengthWith2(ProjectDefaultLineHeight)),@"editButtonWidth":@(ScaleForLengthWith2(88.0)),@"editButtonRightSpace":@(ScaleForLengthWith2(20.0))} views:NSDictionaryOfVariableBindings(_userNameAndPhoneLabel,_userDefaultIconLabel,_userLocationlabel,_horLineView,_verLineView,_editOperateButton)]; [self.contentView addConstraints:herConstraints]; //default icon top and size NSLayoutConstraint *defaultIconTopConstraint = [NSLayoutConstraint constraintWithItem:_userDefaultIconLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeTop multiplier:1.0 constant:ScaleForLengthWith2(66.0)]; [self.contentView addConstraint:defaultIconTopConstraint]; NSLayoutConstraint *defaultIconSizeConstraint = [NSLayoutConstraint constraintWithItem:_userDefaultIconLabel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:ScaleForLengthWith2(38.0)]; [self.contentView addConstraint:defaultIconSizeConstraint]; // NSArray *verLineTopConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(verLineTopAndBottomSpace)-[_verLineView]-(verLineTopAndBottomSpace)-|" options:0 metrics:@{@"verLineTopAndBottomSpace":@(ScaleForLengthWith2(26.0))} views:NSDictionaryOfVariableBindings(_verLineView)]; [self.contentView addConstraints:verLineTopConstraints]; // NSArray *editButtonTopConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_editOperateButton]-(editButtonBottomSpace)-|" options:0 metrics:@{@"editButtonBottomSpace":@(ProjectDefaultLineHeight)} views:NSDictionaryOfVariableBindings(_editOperateButton)]; [self.contentView addConstraints:editButtonTopConstraints]; //name and phone left and right NSLayoutConstraint *nameLeftConstraint = [NSLayoutConstraint constraintWithItem:_userNameAndPhoneLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:ScaleForLengthWith2(30.0)]; [self.contentView addConstraint:nameLeftConstraint]; NSLayoutConstraint *nameRightConstraint = [NSLayoutConstraint constraintWithItem:_verLineView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:_userNameAndPhoneLabel attribute:NSLayoutAttributeRight multiplier:1.0 constant:ScaleForLengthWith2(20.0)]; [self.contentView addConstraint:nameRightConstraint]; //name and phone left and right NSLayoutConstraint *locationLeftConstraint = [NSLayoutConstraint constraintWithItem:_userLocationlabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:ScaleForLengthWith2(30.0)]; [self.contentView addConstraint:locationLeftConstraint]; NSLayoutConstraint *locationRightConstraint = [NSLayoutConstraint constraintWithItem:_userDefaultIconLabel attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:_userLocationlabel attribute:NSLayoutAttributeRight multiplier:1.0 constant:ScaleForLengthWith2(20.0)]; [self.contentView addConstraint:locationRightConstraint]; // } return self; } - (void)configLocationDataWithModel:(id)model { _userNameAndPhoneLabel.text = @"王小二 133542222222"; //_userLocationlabel.text = @"北京市昌平区天通苑老一区1单元102"; } - (void)editAction:(UITapGestureRecognizer *)tap { tap.view.alpha = 0.5; [UIView animateWithDuration:0.2 animations:^{ tap.view.alpha = 1.0; } completion:^(BOOL finished) { if(_delegate && [_delegate respondsToSelector:@selector(takeLocationListCellClickEditWithCell:)]){ [_delegate takeLocationListCellClickEditWithCell:self]; } }]; } @end