UITextField 继承 UIControl 类,只支持单行输入和显示,可输入密码类型。支持实现代理 UITextFieldDelegate
属性名称类型说明默认值textNSString文本输入值
textColorUIColor文本颜色
UIFontUIFont文本大小
textAlignmentNSTextAlignment文本方向NSLeftTextAlignment
borderStyleUITextBorderStyle边框风格UITextBorderStyleNone
placeholderNSString提示文本
clearsOnBeginEditingBOOL开始编辑时候清空内容NO
adjustsFontSizeToFitWidthBOOL以宽度自动调整字体大小NO
backgroundUIImage背景
clearButtonModeUITextFieldViewMode设置什么时候显示清除按钮UITextFieldViewModeNever
leftViewUIView左边视图
rightViewUIView右边视图
inputViewUIView响应输入时候显示的视图
leftViewModeUITextFieldViewMode设置什么时候显示左边视图模式UITextFieldViewModeNever
rightViewModeUITextFieldViewMode设置什么时候显示右边视图模式UITextFieldViewModeNever
API- (BOOL)endEditing:(BOOL)force; 是否强制取消当前输入行为
##### 代理协议函数
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; 当开始编辑前,返回NO可以阻止编辑
- (void)textFieldDidBeginEditing:(UITextField *)textField 当编辑输入结束触发
(BOOL)textFieldShouldEndEditing:(UITextField *)textField 结束编辑前,返回NO可以阻止编辑结束
(void)textFieldDidEndEditing:(UITextField *)textField 编辑结束
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 当输入内容发生改变触发,range表示改变位置和长度。返回NO可阻止改变
- (void)textFieldDidChangeSelection:(UITextField *)textField 输入内容发生改变后触发,IOS13支持。
- (BOOL)textFieldShouldClear:(UITextField *)textField 当内容发生清除触发,返回NO阻止清除(BOOL)textFieldShouldReturn:(UITextField *)textField 当按下回车键触发,返回NO可阻止默认行为
参考代码UITextField* _textField = [[UITextField alloc] init];
// 设置位置
_textField.frame = CGRectMake(50, 100, 300, 60);
// 设置圆角边框风格
_textField.borderStyle = UITextBorderStyleRoundedRect;
// 设置值
_textField.text = @"";
// 设置提示语
_textField.placeholder = @"请输入用户名";
// 设置键盘类型
_textField.keyboardType = UIKeyboardAppearanceDefault;
// 设置代理
_textField.delegate = self;
// 设置是否为密码类型
_textField.secureTextEntry = NO;
UITextField* _passwdText = [[UITextField alloc] init];
_passwdText.frame = CGRectMake(50, 200, 300, 60);
_passwdText.borderStyle = UITextBorderStyleRoundedRect;
_passwdText.placeholder = @"请输入密码";
_passwdText.keyboardType = UIKeyboardAppearanceDefault;
_passwdText.secureTextEntry = YES;
[self.view addSubview:_textField];
[self.view addSubview:_passwdText];