UITextField同样也是在ios中使用频率最高的控件之一,他可以用来接受输入的文本内容,当点击时可以借助虚拟键盘来操作文本内容等信息.
UITextField和UIlable相比
UIlable只能显示文本
UITextField 能显示文本,也能接受文本.
1:创建一个UITextField
和label的创建方法一样.
第一步:开辟内存空间,并初始化
//1:申请内存空间,并根据frame进行大小初始化
UITextField *filed = [[UITextField alloc] initWithFrame:CGRectMake(50, 100, 200, 50)];
第二:设置文本信息以及属性
设置文本同label一样都是去他得text属性赋值.
//filed.text = @"用户名";
大多数的情况都是显示一个提示输入的标题为灰色显示
filed.placeholder = @"请输入用户名";
第三:添加到父视图上,然后在释放.
[superview addSubview:filed];
2:UITextField的具体属性设置
设置文本框的边框角度为弧度的
filed.borderStyle = UITextBorderStyleRoundedRect;
3:文本对齐格式\文本颜色\背景色\字体都和label一样的设置
filed.font = [UIFont fontWithName:@"Helvetica-Bold" size:20];//注意是官方能识别的字体
4:设置文本显示样式
4.1设置成密码文本样式
设置的输入样式为密码格式
filed.secureTextEntry = YES
4.2 设置文本是编辑状态
控制是否可用输入
filed.userInteractionEnabled = NO
5:设置键盘
通常情况下默认的即可完成需求,
在需要输入密码的时候就需要切换键盘输入格式.
设置键盘输入类型
filed.keyboardType = UIKeyboardTypeNumberPad
设置在输入之前是否删除之前文本
当开始输入的时候是否进行原来的输入
filed.clearsOnBeginEditing = YES;
设置键盘右下角的返回样式按钮
键盘右下角return的显示类型
filed.returnKeyType = UIReturnKeyRoute;
6:自定义输入视图
/**
* 自定义输入视图
1:创建一个和手机屏幕等宽 高度自定义的view
2:设置这个view的属性,把一些自定义的东西添加上去
3:将这个view指定为输入框的输入视图
*/
UIView *viewBack = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 200)];
viewBack.backgroundColor = [UIColor cyanColor];
filed.inputView = viewBack;
在自定义视图的时候,在新添定义的视图的宽度会和主屏幕的宽度是一样的,因为相对于父视图,宽度在这里设置是不可用的,切记!!!!
设置辅助视图
/**
* 设置辅助视图
1:创建一个和屏幕等宽高度适合的视图
*/
UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
view2.backgroundColor = [UIColor grayColor];
/**
* 3:设置为辅助视图
*/
filed.inputAccessoryView = view2;
以上两种视图的用法,好像只有在充值键盘输入的时候可用到,比如在输入银行密码,验证码,校验码等信息的时候.
7:在文本框内添加左右视图/** * 清楚样式 */ filed.clearButtonMode = UITextFieldViewModeUnlessEditing;
效果如下,会在输入的最后放有一个"X"的删除按钮.
/**
* 设置输入框左视图
1:申请内存,并创建一个小得view
*/
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
//设置颜色
leftView.backgroundColor = [UIColor blackColor];
//将这个试图设置为输入框的左视图
filed.leftView = leftView;
//4:设置左视图的显示模式
filed.leftViewMode = UITextFieldViewModeAlways;
[leftView release];
右视图的时候用
filed.rightView = rightView;
8:UITextField的代理模式
他得代理模式好像就是回收虚拟键盘
这才是终极大招
想要实现代理在.h文件中用<UITextFieldDelegate>来实现协议.
实现在点击虚拟键盘右下角的return的时候把虚拟键盘收回就要实现delegate的代理方法叫做
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//注销当前的textfile的第一响应者
[textField resignFirstResponder];
return YES;
}
重中之中就是要设置代理
textfield.delegate = self
否则回收键盘不失败!!!
UITextField的大概属性介绍到此!
- 欢迎各位一块学习,提高逼格!
-
也可以添加洲洲哥的微信公众号
更多消息
更多信iOS开发信息 请以关注洲洲哥 的微信公众号,不定期有干货推送: