iOS UI基础 - 20 UITextField
2016-04-01 00:05 jiangys 阅读(334) 评论(0) 编辑 收藏 举报
//找到已经创建好的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; }