UITextField是控制文字的输入和显示的控件。
所谓输入,在iOS里就是,点击输入框的时候,会弹出键盘,并能把键盘收回。相比于UILabel,UITextField不仅能显示文字,更能输入文字。
创建UITextField遵循以下几个步骤:
1、alloc开辟空间,initWithFrame初始化与屏幕的大小。
2、设置UITextField的相关属性;
3、把UITextField添加到父视图,得以显示出来;
4、释放UITextField对象。
UITextField继承于UIControl,后者继承于UIview。所以,UITextField对象拥有UIView和UIControl的所有方法和属性。
UITextField文本显示
UITextField *textField1 = [[UITextField alloc]initWithFrame:CGRectMake(50, 50, 200, 50)];
[self.window addSubview:textField1];
// 属性
textField1.backgroundColor = [UIColor whiteColor];
// 用户输入框中得值,text就得到什么值(都是字符串)
// 文本框里的值是什么,text就得到什么。
textField1.text = @"hello MOTO";
// 颜色
textField1.textColor = [UIColor grayColor];
// 对齐方式,一般用左对齐
textField1.textAlignment = NSTextAlignmentLeft;
// 设置字体
textField1.font = [UIFont fontWithName:@"Helvetica-Bold" size:17];
// 不用设置字体也可以改变大小
textField1.font = [UIFont systemFontOfSize:27];
//占位字符串。
textField1.placeholder = @"输入用户名";
// 输入控制
// enabled 是否允许输入
textField1.enabled = YES;
// 开始输入是否清空输入框
textField1.clearsOnBeginEditing = YES;
// 密码格式
textField1.secureTextEntry = NO;
// 键盘样式(这个有很多样式,)
textField1.keyboardType = UIKeyboardTypeDefault;
// 修改return键样式
textField1.returnKeyType = UIReturnKeyGoogle;
// inputView 可以自己写一个键盘,只用给高度就行了。
// 点击文本框,弹出一个东西代替系统键盘
//设置自定义输入视图
//1 创建一个和手机屏幕等宽,高度自定义的view
UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 200)];
//2 设置这个view的属性,把一些自定义的东西添加上
view.backgroundColor=[UIColor redColor];
//3 将这个view指定为输入框的输入视图
field.inputView=view;
//设置辅助视图
//1.创建一个和屏幕等宽,高度不要太高的视图
UIView *view2=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
//2.对这个view进行一些自己的设置
view2.backgroundColor=[UIColor yellowColor];
//将这个视图设为辅助视图
field.inputAccessoryView=view2;
//输入框的边框样式,是一个枚举值。这里是我们用的最多的,也就是将矩形处理成圆角矩形。
textField.borderStyle = UITextBorderStyleRoundedRect;
//清除按钮模式,也是一个枚举值。其实说来,是用来清空输入框的内容的一个我们想要的按钮。也就是按一下按钮,输入框的东西就会被清空了。
textField1.clearButtonMode = UITextFieldViewModeAlways;
leftView
添加一个视图,用来布局在输入框的左边。通常用来添加一些提示图标,如用户名输入框左边就有一张小图片来提示用户这个输入框是要输入什么的。
leftViewMode
leftView要与leftViewMode配套使用才能生效。
rightView
在输入框的右边,添加一个视图,用来提示用户。与leftView一样。
rightViewMode
rightView与rightViewMode一样使用才能生效。
// 如右视图
UIView *viewRight=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
viewRight.backgroundColor=[UIColor blueColor];
field.rightView=viewRight;
field.rightViewMode=UITextFieldViewModeAlways;