您的位置:首页 > 产品设计 > UI/UE

iOS UI基础 - 20 UITextField

2016-04-01 00:05 447 查看
//找到已经创建好的UITextField
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(50, 100, RFSCREEN_W - 100 , 45)];
textField.leftImageName = @"login_user_icon"
//设置边框样式
textField.borderStyle = UITextBorderStyleNone;
//通过layer设置圆角
//textField.layer.cornerRadius = 10;
textField.layer.borderColor = Color_White.CGColor;
textField.layer.borderWidth = 1;
// 设置字体颜色
textField.textColor = Color_White;
// 输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容
textField.clearButtonMode = UITextFieldViewModeAlways;
//第一响应者,一个界面可能有多个可输入的控件,哪一个正在编辑哪一个就是第一响应者
[textField becomeFirstResponder];
// 设置左边图标
UIImageView *leftImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_user_icon"]];
leftImageView.frame = CGRectMake(0, 0, 50, 50);
leftImageView.contentMode = UIViewContentModeCenter;
textField.leftView = leftImageView;
//设置左视图的显示模式
textField.leftViewMode = UITextFieldViewModeAlways;
// 设置键盘的样式
textField.keyboardType = UIKeyboardTypeNumberPad;
// 设置占位文字
textField.placeholder = @"请输入用户名";
// 设置占位文字的颜色
[textField setValue:Color_White forKeyPath:@"placeholderLabel.textColor"];

[self.view addSubview:textField];


限定只可以输入数字和6位长度

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *text = [textField text];
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789\b"];
string = [string stringByReplacingOccurrencesOfString:@" " withString:@""];
if ([string rangeOfCharacterFromSet:[characterSet invertedSet]].location != NSNotFound) {
return NO;
}
text = [text stringByReplacingCharactersInRange:range withString:string];
text = [text stringByReplacingOccurrencesOfString:@" " withString:@""];

if ([text stringByReplacingOccurrencesOfString:@" " withString:@""].length >= 7) {
return NO;
}

[textField setText:text];
_confirmButton.enabled = text.length > 0 ? YES : NO;
return NO;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: