Files
yinmeng-ios-store/yinmeng-ios/DingDangApp/V2Versions/Login/View/DDLoginTextView.m

201 lines
7.8 KiB
Mathematica
Raw Normal View History

2023-12-07 10:50:21 +08:00
//
// DDLoginTextView.m
// DingDangApp
//
// Created by apple on 2023/7/4.
//
#import "DDLoginTextView.h"
@implementation DDLoginTextView
- (instancetype)initWithFrame:(CGRect)frame withType:(DDTextFieldViewType)type
{
self = [super initWithFrame:frame];
if (self) {
self.type = type;
}
return self;
}
-(void)setType:(DDTextFieldViewType)type
{
_type = type;
self.lineView.hidden = NO;
switch (type) {
case DDTextFieldPhone:
{
self.iconImageView.image = [UIImage imageNamed:@"login_bg_icon_3"];
self.textField.keyboardType = UIKeyboardTypeNumberPad;
self.textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"请输入手机号" attributes:@{NSForegroundColorAttributeName:DDHEXColor(0x999999), NSFontAttributeName : DDFont(20)}];
self.textField.jk_maxLength = 11;
}
break;
case DDTextFieldGetCode:
{
self.iconImageView.image = [UIImage imageNamed:@"login_bg_icon_4"];
self.textField.keyboardType = UIKeyboardTypeNumberPad;
self.textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"请输入验证码" attributes:@{NSForegroundColorAttributeName:DDHEXColor(0x999999), NSFontAttributeName : DDFont(20)}];
self.textField.jk_maxLength = 6;
[self.textField mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.iconImageView.mas_right).offset(10);
make.width.mas_equalTo(204);
make.height.mas_equalTo(40);
make.centerY.equalTo(self.iconImageView);
}];
[self.getCodeBtn mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.textField.mas_right).mas_offset(10);
make.centerY.equalTo(self.textField);
make.height.mas_equalTo(24);
make.width.mas_equalTo(80);
make.right.equalTo(self).inset(25);
}];
}
break;
case DDTextFieldPassWord:
{
self.iconImageView.image = [UIImage imageNamed:@"login_bg_icon_4"];
self.textField.secureTextEntry = YES;
self.textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"请输入密码" attributes:@{NSForegroundColorAttributeName:DDHEXColor(0x999999), NSFontAttributeName : DDFont(20)}];
[self.textField mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.iconImageView.mas_right).offset(10);
make.width.mas_equalTo(244);
make.height.mas_equalTo(40);
make.centerY.equalTo(self.iconImageView);
}];
[self.showPassWordBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.lineView.mas_right);
make.centerY.mas_equalTo(self.textField.mas_centerY);
make.width.height.mas_equalTo(44);
}];
}
break;
case DDTextFieldInvideCode:{
self.iconImageView.image =[UIImage imageNamed:@"login_bg_icon_4"];
self.textField.keyboardType = UIKeyboardTypeASCIICapable;
self.textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"邀请码(非必填)" attributes:@{NSForegroundColorAttributeName:DDHEXColor(0x999999), NSFontAttributeName : DDFont(20)}];
@weakify(self);
[[self.textField rac_textSignal] subscribeNext:^(NSString * _Nullable x) {
@strongify(self);
if (x.length>20) {
self.textField.text = [x substringToIndex:20];
}
}];
}
break;
default:
break;
}
}
- (void)showPassWordBtnClick {
self.showPassWordBtn.selected = !self.showPassWordBtn.selected;
if (self.showPassWordBtn.isSelected) {
self.textField.secureTextEntry = NO;
return;
}
self.textField.secureTextEntry = YES;
}
-(UIButton *)showPassWordBtn
{
if (!_showPassWordBtn) {
_showPassWordBtn = [UIButton buttonWithType:(UIButtonTypeCustom)];
[_showPassWordBtn setImage:[UIImage imageNamed:@"login_bg_icon_5"] forState:(UIControlStateNormal)];
[_showPassWordBtn setImage:[UIImage imageNamed:@"login_bg_icon_6"] forState:(UIControlStateSelected)];
[_showPassWordBtn addTarget:self action:@selector(showPassWordBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_showPassWordBtn];
[_showPassWordBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.lineView.mas_right);
make.centerY.mas_equalTo(self.textField.mas_centerY);
make.width.height.mas_equalTo(44);
}];
}
return _showPassWordBtn;
}
- (void)getCodeBtnClick {
if (self.getCodeBlock) {
self.getCodeBlock();
}
}
-(JKCountDownButton *)getCodeBtn
{
if (!_getCodeBtn) {
_getCodeBtn = [JKCountDownButton buttonWithType:UIButtonTypeCustom];
_getCodeBtn.titleLabel.font = DDFont(12);
[_getCodeBtn setTitle:@"获取验证码" forState:UIControlStateNormal];
[_getCodeBtn setBackgroundImage:[UIImage imageNamed:@"v2_com_btn2"] forState:(UIControlStateNormal)];
[_getCodeBtn setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
[_getCodeBtn setBackgroundImage:[UIImage imageNamed:@"v2_com_btn3"] forState:UIControlStateDisabled];
[_getCodeBtn setTitleColor:DDHEXColor(0xFFFFFF) forState:(UIControlStateDisabled)];
[_getCodeBtn addTarget:self action:@selector(getCodeBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_getCodeBtn];
[_getCodeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.textField.mas_right).mas_offset(10);
make.centerY.equalTo(self.textField);
make.height.mas_equalTo(24);
make.width.mas_equalTo(80);
make.right.equalTo(self).inset(25);
}];
}
return _getCodeBtn;
}
-(UIImageView *)iconImageView
{
if (!_iconImageView) {
_iconImageView = [[UIImageView alloc]init];
_iconImageView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_iconImageView];
[_iconImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self).offset(25);
make.top.mas_equalTo(self).mas_offset(9);
make.width.height.mas_equalTo(21);
}];
}
return _iconImageView;
}
-(UITextField *)textField
{
if (!_textField) {
_textField = [[UITextField alloc] init];
_textField.font = DDFont(20);
_textField.textColor = DDHEXColor(0x333333);
[self addSubview:_textField];
[_textField mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.iconImageView.mas_right).offset(10);
make.right.equalTo(self);
make.height.mas_equalTo(40);
make.centerY.equalTo(self.iconImageView);
}];
}
return _textField;
}
-(UIView *)lineView
{
if (!_lineView) {
_lineView = [[UIView alloc]init];
_lineView.backgroundColor = DDHEXColor(0xEAEAEA);
[self addSubview:_lineView];
[_lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.iconImageView.mas_bottom).offset(10);
make.right.equalTo(self).inset(25);
make.left.equalTo(self).offset(25);
make.height.mas_equalTo(1);
}];
}
return _lineView;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end