// // MOFSToolView.m // MOFSPickerManagerDemo // // Created by 罗源 on 2018/2/5. // Copyright © 2018年 luoyuan. All rights reserved. // #import "MOFSToolView.h" #define BAR_COLOR [UIColor colorWithRed:0.090 green:0.463 blue:0.906 alpha:1] #define LINE_COLOR [UIColor colorWithRed:0.804 green:0.804 blue:0.804 alpha:1] #define UISCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #define UISCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height @implementation MOFSToolView - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { //self.translatesAutoresizingMaskIntoConstraints = false; _cancelBar = [UILabel new]; _cancelBar.font = [UIFont systemFontOfSize:14]; _cancelBar.textColor = BAR_COLOR; _cancelBar.text = @"取消"; _cancelBar.textAlignment = NSTextAlignmentLeft; _cancelBar.userInteractionEnabled = true; [_cancelBar addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(cancelAction)]]; [self addSubview:_cancelBar]; [_cancelBar setTranslatesAutoresizingMaskIntoConstraints:false]; [_cancelBar setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; [_cancelBar setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; _titleBar = [UILabel new]; _titleBar.font = [UIFont systemFontOfSize:14]; _titleBar.text = @"标题"; _titleBar.textAlignment = NSTextAlignmentCenter; _titleBar.textColor = LINE_COLOR; [self addSubview:_titleBar]; [_titleBar setTranslatesAutoresizingMaskIntoConstraints:false]; [_titleBar setContentCompressionResistancePriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal]; _commitBar = [UILabel new]; _commitBar.font = [UIFont systemFontOfSize:14]; _commitBar.textColor = BAR_COLOR; _commitBar.text = @"完成"; _commitBar.textAlignment = NSTextAlignmentRight; _commitBar.userInteractionEnabled = true; [_commitBar addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(commitAction)]]; [self addSubview:_commitBar]; [_commitBar setTranslatesAutoresizingMaskIntoConstraints:false]; [_commitBar setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; [_commitBar setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal]; UIView *topLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, 0.5)]; topLineView.backgroundColor = LINE_COLOR; [self addSubview:topLineView]; [topLineView setTranslatesAutoresizingMaskIntoConstraints:false]; UIView *bottomLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 43.5, UISCREEN_WIDTH, 0.5)]; bottomLineView.backgroundColor = LINE_COLOR; [self addSubview:bottomLineView]; [bottomLineView setTranslatesAutoresizingMaskIntoConstraints:false]; NSLayoutConstraint *constrant_a = [NSLayoutConstraint constraintWithItem:_cancelBar attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1.0 constant:10]; NSLayoutConstraint *constrant_b = [NSLayoutConstraint constraintWithItem:_cancelBar attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_c = [NSLayoutConstraint constraintWithItem:_cancelBar attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]; [self addConstraints:@[constrant_a, constrant_b, constrant_c]]; NSLayoutConstraint *constrant_d = [NSLayoutConstraint constraintWithItem:_titleBar attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:_cancelBar attribute:NSLayoutAttributeRight multiplier:1.0 constant:10]; NSLayoutConstraint *constrant_e = [NSLayoutConstraint constraintWithItem:_titleBar attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_f = [NSLayoutConstraint constraintWithItem:_titleBar attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]; [self addConstraints:@[constrant_d, constrant_e, constrant_f]]; NSLayoutConstraint *constrant_g = [NSLayoutConstraint constraintWithItem:_commitBar attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:_titleBar attribute:NSLayoutAttributeRight multiplier:1.0 constant:10]; NSLayoutConstraint *constrant_h = [NSLayoutConstraint constraintWithItem:_commitBar attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_i = [NSLayoutConstraint constraintWithItem:_commitBar attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_j = [NSLayoutConstraint constraintWithItem:_commitBar attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeRight multiplier:1.0 constant:-10]; [self addConstraints:@[constrant_g, constrant_h, constrant_i, constrant_j]]; NSLayoutConstraint *constrant_k = [NSLayoutConstraint constraintWithItem:topLineView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_l = [NSLayoutConstraint constraintWithItem:topLineView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_m = [NSLayoutConstraint constraintWithItem:topLineView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_n = [NSLayoutConstraint constraintWithItem:topLineView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:0.5]; [self addConstraints:@[constrant_k, constrant_l, constrant_m, constrant_n]]; NSLayoutConstraint *constrant_o = [NSLayoutConstraint constraintWithItem:bottomLineView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_p = [NSLayoutConstraint constraintWithItem:bottomLineView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_q = [NSLayoutConstraint constraintWithItem:bottomLineView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]; NSLayoutConstraint *constrant_r = [NSLayoutConstraint constraintWithItem:bottomLineView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:0.5]; [self addConstraints:@[constrant_o, constrant_p, constrant_q, constrant_r]]; } return self; } #pragma mark - Action - (void)cancelAction { if (self.cancelBlock) { self.cancelBlock(); } } - (void)commitAction { if (self.commitBlock) { self.commitBlock(); } } #pragma mark - install - (void)setCancelBarTitle:(NSString *)cancelBarTitle { _cancelBarTitle = cancelBarTitle; if (self.cancelBar) { self.cancelBar.text = cancelBarTitle; } } - (void)setCancelBarTintColor:(UIColor *)cancelBarTintColor { _cancelBarTintColor = cancelBarTintColor; if (self.cancelBar) { self.cancelBar.tintColor = cancelBarTintColor; } } - (void)setCommitBarTitle:(NSString *)commitBarTitle { _commitBarTitle = commitBarTitle; if (self.commitBar) { self.commitBar.text = commitBarTitle; } } - (void)setCommitBarTintColor:(UIColor *)commitBarTintColor { _commitBarTintColor = commitBarTintColor; if (self.commitBar) { self.commitBar.tintColor = commitBarTintColor; } } - (void)setTitleBarTitle:(NSString *)titleBarTitle { _titleBarTitle = titleBarTitle; if (self.titleBar) { self.titleBar.text = titleBarTitle; } } - (void)setTitleBarTextColor:(UIColor *)titleBarTextColor { _titleBarTextColor = titleBarTextColor; if (self.titleBar) { self.titleBar.textColor = titleBarTextColor;; } } @end