UITextField
UITextField(输入框):是控制⽂本输入和显示的控件。
iOS系统借助虚拟键盘实现输入,当点击输入框,系统会⾃动调出键盘,⽅便你进⼀步操作。
在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘。
UITextField和UILabel相⽐比,UILabel主要⽤用于⽂字显示,不能编辑,UITextField允许⽤户编辑文字(输入)。
// 创建UITextField
// 1、开辟空间并初始化(如果本类有初始化⽅法,使用⾃己的;否则 使⽤父类的)。
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake:(20, 20, 280, 30)];
// 2、设置⽂本显示、输⼊相关的属性
// 设置输入框为圆角矩形
[textField setBorderStyle:UITextBorderStyleRoundedRect];
// 设置占位字符串(没有任何输入时,给出的提示字符串)
[textField setPlaceholder:@"手机号/邮箱"];
// 3、添加到父视图上,⽤以显示
[self.window addSubview:textField];
// 4、释放
[textField release];
UITextField核心功能主要包含3个方面:文本显示;输入控制;外观配置
文本显示
text 要现实的文本内容
textColor 文本内容的颜色
textAlignment 文本的对齐方式(水平方向)
font 文本字体
placeholder 占位字符串(没有任何输入时,给出的提示字符串)
输入控制
editing 是否允许输入
clearsOnBeginEditing 是否开始入的时候清空输入框内容
secureTextEntry 是否文字以圆点格式显示(密码保护)
keyboardType 弹出键盘的类型(枚举值)
returnKeyType 键盘右下角return按钮类型(枚举值)
inputView 自定义输入视图(默认是键盘)
inputAccessoryView 输入视图上方的辅助视图(默认nil)
外观控制
borderStyle 边框样式(枚举值)
clearButtonMode 清除按钮模式(枚举值)
leftView 输入框左视图
leftViewMode 左视图的显示模式
rightView 输入框右视图
rightViewMode 右视图的显示模式
键盘样式
typedef enum {
UIKeyboardTypeDefault, 默认键盘,支持所有字符
UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘
UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符
UIKeyboardTypeURL, URL键盘,支持.com按钮 只支持URL字符
UIKeyboardTypeNumberPad, 数字键盘
UIKeyboardTypePhonePad, 电话键盘
UIKeyboardTypeNamePhonePad, 电话键盘,也支持输入人名
UIKeyboardTypeEmailAddress, 用于输入电子 邮件地址的键盘
UIKeyboardTypeDecimalPad, 数字键盘 有数字和小数点
UIKeyboardTypeTwitter, 优化的键盘,方便输入@、#字符
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
} UIKeyboardType;
键盘回收
// 按return键键盘往下收
// 键盘弹出时键盘为第一响应者
// 对第一响应者使用resignFirstResponder(失去第一响应者)
// 类要采用UITextFieldDelegate协议
// 声明text的代理是self,self会去实现把键盘往下收的方法
// 这个方法在UITextFieldDelegate里
// 我们要在类中签订UITextFieldDelegate这个协议
[textField setDelegate:self];
// 键盘回收方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
//主要是[receiver resignFirstResponder]在哪调用就能把receiver对应的键盘往下收
[textField resignFirstResponder];
return YES;
}