ZKFieldWithTitle

//
//  ZKFieldWithTitle.h
//  WaterProofer
//
//  Created by ios on 2019/9/8.
//  Copyright © 2019年 WaterProofer. All rights reserved.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface ZKFieldWithTitle : UIView
@property(nonatomic,strong)UILabel *keyTitle;
@property(nonatomic,strong)UITextField *inputField;
@property(nonatomic,strong)UIButton *rightIcon;
@property(nonatomic,strong)UIImageView *downLine;

@property (nonatomic,copy)NSString* rightSelectIcon;
@property (nonatomic,copy)NSString* rightDefaultIcon;

@property (nonatomic,assign)BOOL isNeedClick;//是否需要点击事件
@property (nonatomic,copy)void(^selectBlock)(void);
+(instancetype)customerView;
@end

NS_ASSUME_NONNULL_END
ZKFieldWithTitle.h
//
//  ZKFieldWithTitle.m
//  WaterProofer
//
//  Created by ios on 2019/9/8.
//  Copyright © 2019年 WaterProofer. All rights reserved.
//

#import "ZKFieldWithTitle.h"
// 获取RGB颜色
#define ZKRGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
#define ZKRGB(r,g,b) RGBA(r,g,b,1.0f)
#define ZKPingFangFont_(F) [UIFont fontWithName:@"PingFang SC" size:F]
// 弱引用
#define ZKWeakSelf __weak typeof(self) weakSelf = self;

@implementation ZKFieldWithTitle

-(instancetype)init{
    if (self = [super init]){
        ZKWeakSelf
        
        self.userInteractionEnabled = YES;
        self.backgroundColor = [UIColor whiteColor];
        self.rightIcon.hidden = YES;
        _keyTitle = [[UILabel alloc] init];
        [_keyTitle setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal];
        _keyTitle.textColor = ZKRGB(51, 51, 51);
        _keyTitle.font = ZKPingFangFont_(15);
        [self addSubview:_keyTitle];
        [_keyTitle mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.offset(15);
            make.centerY.mas_equalTo(weakSelf);
        }];
        
        _rightIcon = [UIButton buttonWithType:UIButtonTypeCustom];
        [_rightIcon setContentHuggingPriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal];
        [self addSubview:_rightIcon];
        [_rightIcon mas_makeConstraints:^(MASConstraintMaker *make) {
            make.right.offset(-15);
            make.centerY.mas_equalTo(weakSelf);
        }];
        
        _inputField = [[UITextField alloc] init];
        _inputField.textColor = ZKRGB(51, 51, 51);
        _inputField.font = ZKPingFangFont_(15);
        [self addSubview:_inputField];
        
        [_inputField mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(weakSelf.keyTitle.mas_right).offset(15);
            make.right.equalTo(weakSelf.rightIcon.mas_left).offset(-15);
            make.centerY.mas_equalTo(weakSelf);
        }];
    }
    return self;
}
+(instancetype)customerView
{
    ZKFieldWithTitle* fieldAndTitle = [[ZKFieldWithTitle alloc] init];
    return fieldAndTitle;
}
-(void)setRightSelectIcon:(NSString *)rightSelectIcon{
    _rightSelectIcon = rightSelectIcon;
    [self.rightIcon setImage:[UIImage imageNamed:_rightSelectIcon] forState:UIControlStateSelected];
}
-(void)setRightDefaultIcon:(NSString *)rightDefaultIcon{
    _rightDefaultIcon = rightDefaultIcon;
    [self.rightIcon setImage:[UIImage imageNamed:_rightDefaultIcon] forState:UIControlStateNormal];
}

-(void)setIsNeedClick:(BOOL)isNeedClick{
    _isNeedClick = isNeedClick;
    if (_isNeedClick) {
        self.rightIcon.hidden = NO;
        self.inputField.enabled = NO;
        UITapGestureRecognizer *tapClick=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap_Click)];
        [self addGestureRecognizer:tapClick];
    }
}
-(void)tap_Click{
    if (self.selectBlock){
        self.rightIcon.selected=!self.rightIcon.selected;
        self.selectBlock();
    }
}
@end
ZKFieldWithTitle.m
_selectCity = [ZKFieldWithTitle customerView];
    _selectCity.keyTitle.text = @"所在区域";
    _selectCity.inputField.placeholder = @"请选择省市区";
    _selectCity.isNeedClick = YES;//是否需要点击事件
    _selectCity.rightDefaultIcon = @"xiala";
    _selectCity.rightSelectIcon = @"xiala";
    _selectCity.selectBlock = ^{
        //NSLog(@"选择省市区");
        [weakSelf hideAllKeyBoard];//隐藏键盘
        [weakSelf.pickView showInView:weakSelf.view];//推出省市区选择器
    };
    [_cityView addSubview:_selectCity];
    [_selectCity mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.left.right.offset(0);   make.height.equalTo(weakSelf.cityView.mas_height).multipliedBy(0.5);//multipliedBy 宽高比
    }];


_detailAddress = [ZKFieldWithTitle customerView];
    _detailAddress.keyTitle.text = @"详情地址";
    _detailAddress.inputField.placeholder = @"请输入详情地址";
    [_cityView addSubview:_detailAddress];
    [_detailAddress mas_makeConstraints:^(MASConstraintMaker *make) {
        make.bottom.left.right.offset(0);
        make.height.equalTo(weakSelf.cityView.mas_height).multipliedBy(0.5);//multipliedBy 宽高比
    }];


#pragma - mark - 隐藏键盘
- (void)hideAllKeyBoard
{
    [[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];//隐藏键盘
}
SecelctAddressView

 

posted @ 2019-09-08 12:47  &#127810;浪迹天涯&#127810;  阅读(114)  评论(0编辑  收藏  举报