码迷,mamicode.com
首页 > 移动开发 > 详细

【iOS-Develop用户交互-04】UITextField

时间:2015-12-10 19:20:49      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

一、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;
  21.设置输入框的背景颜色
 textField.backgroundColor = [UIColor whiteColor];

  22.设置背景, 如果使用了自定义的背景图片,边框会被忽略掉  

textField.background = [UIImage imageNamed:@"dd.png"];
  23.是否纠错 
 textField.autocorrectionType = UITextAutocorrectionTypeNo;

  24.键盘外观(枚举值)

textView.keyboardAppearance=UIKeyboardAppearanceAler;// 深灰 石墨色
  25.首字母是否大写 
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 }  
  4.结束编辑触发该方法 
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 }  
  6.返回一个BOOL值指定是否允许根据用户请求清除内容,可以设置在特定条件下才允许清除内容
1 - (BOOL)textFieldShouldClear:(UITextField *)textField{  
2      return YES;  
3 } 
  7.返回一个BOOL值,指定是否允许在按下回车键时结束编辑 ,这个方法在点击右下角return键时会触发,如果调用resignFirstResponder 方法,这会导致结束编辑,而键盘会被收起[textField resignFirstResponder];
1 -(BOOL)textFieldShouldReturn:(UITextField *)textField{  
2      return YES;  
3 }  

 

【iOS-Develop用户交互-04】UITextField

标签:

原文地址:http://www.cnblogs.com/songshuhaoNB/p/5036791.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!