标签:
一、UITextField概述
1.UITextField(文本输入框):是控制?本输入和显示的控件。
2.iOS系统借助虚拟键盘实现输入,当点击输?框系统会自动调出键盘方便你进一步操作,在你不需要输入的时候可以使用收回键盘的方法,收回弹出的键盘。
3.UITextField和UILabel相比,UILabel主要用于文字显示,不能编辑,UITextField允许?户编辑文字(输入)。
二、UITextField创建
1.创建UITextField与创建UILabel的步骤很相似:?
(1)开辟空间并初始化(如果本类有初始化?方法,使?自己的,否则使用父类的)。?
(2)设置文本显示、输入相关的属性?。
(3)添加到父视图上,用以显示。
(4)释放对象(MRC)。
2.代码示例:
1 UITextField *userNameTextField = [[UITextField alloc]initWithFrame:CGRectMake(100, 100, 190, 30)]; 2 userNameTextField.borderStyle =UITextBorderStyleRoundedRect; 3 userNameTextField.placeholder = @"?手机号/邮箱"; 4 [containerView addSubview:userNameTextField]; 5 [userNameTextField release];
三、属性
1.输入框中一开始就有的文字
textField.text = @“输入框中一开始就有的文字”;
2.?本内容的颜色
textField.textColor = [UIColor redColor];
3.?本的对齐方式(水平方向)
textField.textAlignment = NSTextAlignmentLeft;
4.设置输入框内容的字体样式和大小
textField.font = [UIFont fontWithName:@“Helvetica- Bold” size:20];//黑体加粗,20号字。
5.占位字符串(没有任何输?入时,给出的提示字符串)
textField.placeholder = @“请输入用户名”;
6.是否允许输入
1 textField.enabled =NO;//不允许输入,不弹出键盘? 2 textField.enabled =YES;//默认是YES。允许输入
7是否开始输入的时候清空输入框内容
1 textField.clearsOnBeginEditing = YES;//清空? 2 textField.clearsOnBeginEditing = NO;//不清空
8.是否文字以圆点格式显?
1 textField.secureTextEntry = YES;//密码模式? 2 textField.secureTextEntry = NO;//普通模式?
9.弹出键盘的类型(枚举值)
textField.keyboardType = UIKeyboardTypeNumberPad; //数字键盘
10.键盘右下角return按钮类型(枚举值)
textField.returnKeyType = UIReturnKeyNext;
11.自定义输入视图(默认是键盘)
textField.inputView = myInputView;
12.输入视图上方的辅助视图(默认nil)
textField.inputAccessoryView = myAccessoryView;
13.边框样式(枚举值),只有设置了才会显示边框样式
textField.borderStyle = UITextBorderStyleRoundedRect;
14.清除按钮模式(枚举值)
textField.clearButtonMode = UITextFieldViewModeAlways; //总是显?清除按钮
15.输入框左视图
textField.leftView = leftView;
16.左视图的显示模式
textField.leftViewMode = UITextFieldViewModeAlways; //总是显示左视图
17. 输入框右视图
textField.rightView = rightView;
18.右视图的显?模式
textField.rightViewMode = UITextFieldViewModeAlways;
19.设置文本是否自动适应窗口大小
textFied.adjustsFontSizeToFitWidth = YES;//设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动
20.设置自动缩小显示的最小字体大小
textField.minimumFontSize = 20;
textField.backgroundColor = [UIColor whiteColor];
22.设置背景, 如果使用了自定义的背景图片,边框会被忽略掉
textField.background = [UIImage imageNamed:@"dd.png"];
textField.autocorrectionType = UITextAutocorrectionTypeNo;
24.键盘外观(枚举值)
textView.keyboardAppearance=UIKeyboardAppearanceAler;// 深灰 石墨色
text.autocapitalizationType = UITextAutocapitalizationTypeNone;
26.内容的垂直对齐方式 UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment
text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
三、代理方法(全是textfield开头)
1.返回一个BOOL值,指定是否允许文本字段开始编辑
1 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ 2 return YES; 3 }
2.开始编辑时触发该方法,文本字段将成为first responder
1 - (void)textFieldDidBeginEditing:(UITextField *)textField{ 2 }
3.返回BOOL值,指定是否允许文本字段结束编辑,当结束编辑时,文本字段会让出first responder,要想在用户结束编辑时阻止文本字段消失,可以返回NO,这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息
1 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{ 2 return NO; 3 }
1 - (void)textFieldDidEndEditing:(UITextField *)textField{ 2 }
5.当用户使用自动纠正功能,把输入的文字修改为推荐的文字时,就会调用这个方法,这对于想要加入撤销选项的应用程序特别有用。
1 - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 2 3 //可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。 4 //要防止文字被改变可以返回NO 5 //这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中 6 return YES; 7 }
1 - (BOOL)textFieldShouldClear:(UITextField *)textField{ 2 return YES; 3 }
1 -(BOOL)textFieldShouldReturn:(UITextField *)textField{ 2 return YES; 3 }
【iOS-Develop用户交互-04】UITextField
标签:
原文地址:http://www.cnblogs.com/songshuhaoNB/p/5036791.html