您的位置:首页 > 产品设计 > UI/UE

UITextFiled

2015-09-14 21:55 447 查看
UITextFiled :
是iOS中可以输入的控件,也就是输入框主要进行文字的输入控制和显示
和UILabel相比,仅仅多的是文字的输入功能
在使用上和UILabel没有区别

配置属性
UITextField *tf = [[UITextField alloc]initWithFrame:CGRectMake(50, 100, 275, 50)];    
tf.backgroundColor = [UIColor whiteColor];
//(1)文字显示
//a.显示内容
tf.text = @"Duang~ Duang~";
//b.设置文字颜色
tf.textColor = [UIColor blackColor];
//c.设置文字对齐方式
tf.textAlignment = NSTextAlignmentLeft;
//d.字体
tf.font = [UIFont systemFontOfSize:20];
//e.设置 占位提示符
tf.placeholder = @"请输入用户名";

//(2)输入控制
//a.设置是否可以输入 (可以控制输入框 输入的时机)
tf.enabled = YES;
//b.清空设置 当开始编辑 是否进行清空
tf.clearsOnBeginEditing = YES;
//c.设置键盘风格
tf.keyboardType = UIKeyboardTypeDefault;
//d.设置 return 风格
tf.returnKeyType = UIReturnKeyDefault;
//e.设置安全模式 (密码模式)
tf.secureTextEntry = YES;
//f.设置 输入弹出视图(默认 是键盘)
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 375, 275)];
view.backgroundColor = [UIColor lightGrayColor];
tf.inputView =view;
//g.设置辅助 输入视图
UILabel *lable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 375, 40)];
//(3)外观 控制
//a.设置输入框样式
tf.borderStyle = UITextBorderStyleRoundedRect;
//b.设置清除按钮的模式
tf.clearButtonMode = UITextFieldViewModeWhileEditing;
//c.左视图
UILabel *nameLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 75, 50)];
nameLabel.text = @"用户名";
nameLabel.textAlignment = NSTextAlignmentCenter;
nameLabel.textColor = [UIColor blackColor];
nameLabel.backgroundColor = [UIColor lightGrayColor];
//nameLabel.backgroundColor = [UIColor colorWithRed:76/255.0 green:98/225.0 blue:124/225.0 alpha:0.8];
tf.leftView = nameLabel;
//左视图 模式
tf.leftViewMode = UITextFieldViewModeAlways;




UITextField属性 0. enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的。 1.borderStyle 设置边框样式,只有设置了才会显示边框样式
text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBorderStyleBezel, UITextBorderStyleRoundedRect } UITextBorderStyle;
2.backgroundColor 设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉
text.backgroundColor = [UIColor whiteColor];

3.background 设置背景 text.background = [UIImage imageNamed:@"dd.png"];
//UITextField 的背景,注意只有UITextBorderStyleNone的时候改属性有效 设置enable为no时,textfield的背景 text.disabledBackground = [UIImage imageNamed:@"cc.png"];

4.placeholder 占位符当输入框没有内容时, 提示内容为password
text.placeholder = @"password";

5.font 设置输入框内容的字体样式和大小 text.font = [UIFont fontWithName:@"Arial" size:20.0f];

6. textColor 设置字体颜色 text.textColor = [UIColor redColor];

7. clearButtonMode 清除按钮输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容
text.clearButtonMode = UITextFieldViewModeAlways;
typedef enum { UITextFieldViewModeNever, 从不出现
UITextFieldViewModeWhileEditing, 编辑时出现 UITextFieldViewModeUnlessEditing, 除了编辑外都出现
UITextFieldViewModeAlways 一直出现 } UITextFieldViewMode;

8. text 输入框中一开始就有的文字 text.text = @"一开始就在输入框的文字";

9. secureTextEntry 密钥形式每输入一个字符就变成点 用来输入密码时,设置这个属性。
text.secureTextEntry = YES;

10. autocorrectionType 是否纠错 text.autocorrectionType = UITextAutocorrectionTypeNo;
typedef enum { UITextAutocorrectionTypeDefault, 默认
UITextAutocorrectionTypeNo, 不自动纠错
UITextAutocorrectionTypeYes, 自动纠错 } UITextAutocorrectionType;

11. clearsOnBeginEditing 再次编辑就清空 text.clearsOnBeginEditing = YES;
12. textAlignment 内容对齐方式 text.textAlignment = UITextAlignmentLeft;

13. contentVerticalAlignment 内容的垂直对齐方式 UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
14. adjustsFontSizeToFitWidth 设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动 textFied.adjustsFontSizeToFitWidth = YES; //设置自动缩小显示的最小字体大小
text.minimumFontSize = 20;
15. keyboardType 设置键盘的样式 text.keyboardType = UIKeyboardTypeNumberPad;
typedef enum { UIKeyboardTypeDefault, 默认键盘,支持所有字符UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘 UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符
UIKeyboardTypeURL, URL键盘,支持.com按钮 只支持URL字符
UIKeyboardTypeNumberPad, 数字键盘
UIKeyboardTypePhonePad, 电话键盘 UIKeyboardTypeNamePhonePad, 电话键盘,也支持输入人名
UIKeyboardTypeEmailAddress, 用于输入电子 邮件地址的键盘
UIKeyboardTypeDecimalPad, 数字键盘 有数字和小数点
UIKeyboardTypeTwitter, 优化的键盘,方便输入@、#字符
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, } UIKeyboardType;

16.autocapitalizationType 首字母是否大写 text.autocapitalizationType = UITextAutocapitalizationTypeNone;
typedef enum { UITextAutocapitalizationTypeNone, 不自动大写
UITextAutocapitalizationTypeWords, 单词首字母大写
UITextAutocapitalizationTypeSentences, 句子的首字母大写
UITextAutocapitalizationTypeAllCharacters, 所有字母都大写 } UITextAutocapitalizationType;

17. returnKeyType return键变成什么键 text.returnKeyType =UIReturnKeyDone;
typedef enum { UIReturnKeyDefault, 默认 灰色按钮,标有Return
UIReturnKeyGo, 标有Go的蓝色按钮 UIReturnKeyGoogle,标有Google的蓝色按钮,用语搜索
UIReturnKeyJoin,标有Join的蓝色按钮
UIReturnKeyNext,标有Next的蓝色按钮
UIReturnKeyRoute,标有Route的蓝色按钮
UIReturnKeySearch,标有Search的蓝色按钮
UIReturnKeySend,标有Send的蓝色按钮
UIReturnKeyYahoo,标有Yahoo的蓝色按钮
UIReturnKeyYahoo,标有Yahoo的蓝色按钮
UIReturnKeyEmergencyCall, 紧急呼叫按钮 } UIReturnKeyType;

18. keyboardAppearance 键盘外观 textView.keyboardAppearance=UIKeyboardAppearanceDefault;
typedef enum { UIKeyboardAppearanceDefault, 默认外观,浅灰色
UIKeyboardAppearanceAlert, 深灰 石墨色 } UIReturnKeyType;
19. delegate 设置代理 用于实现协议 text.delegate = self;

20. rightView 最右侧加图片是以下代码 左侧类似 UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]]; text.rightView=image; text.rightViewMode = UITextFieldViewModeAlways;

typedef enum { UITextFieldViewModeNever, 从不存在
UITextFieldViewModeWhileEditing, 编辑时存在
UITextFieldViewModeUnlessEditing, 除了编辑时存在
UITextFieldViewModeAlways 一直存在 } UITextFieldViewMode;

21. editing 是否允许编辑

22. delegate 类要遵守UITextFieldDelegate协议 text.delegate = self; 声明text的代理是我,我会去实现把键盘往下收的方法 这个方法在UITextFieldDelegate里所以我们要遵守UITextFieldDelegate这个协议

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [text resignFirstResponder];  //第一响应者   
//主要是[receiver resignFirstResponder]在哪调用就能把receiver(text)对应的键盘往下收 
return YES; 
}
//代理方法  
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{     
//返回一个BOOL值,YES代表允许编辑,NO不允许编辑.      
return YES;  
}    
- (void)textFieldDidBeginEditing:(UITextField *)textField{
   //开始编辑时触发,文本字段将成为first responder  
}
</pre>- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{  //返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder    <p></p><pre>
//要想在用户结束编辑时阻止文本字段消失,可以返回NO ,返回NO,点击键盘的返回按钮会无效果。   
//这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息     
    return NO;  
}  
- (void)textFieldDidEndEditing:(UITextField *)textField;{   
}
// 上面返回YES后执行;上面返回NO时有可能强制执行(e.g. view removed from window) 
</pre><pre name="code" class="objc">-(BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{  
//当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。  
//这对于想要加入撤销选项的应用程序特别有用  
//可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。    
//要防止文字被改变可以返回NO  
//这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中    
   return YES; 
   
- (BOOL)textFieldShouldClear:(UITextField *)textField{    
//返回一个BOOL值指明是否允许根据用户请求清除内容  
//可以设置在特定条件下才允许清除内容    
   return YES; 
}
</pre><pre name="code" class="objc">-(BOOL)textFieldShouldReturn:(UITextField *)textField{    
//返回一个BOOL值,指明是否允许在按下回车键时结束编辑  
 //如果允许要调用resignFirstResponder 方法,这回导致结束编辑,而键盘会被收起
[textField resignFirstResponder]; 
//查一下resign这个单词的意思就明白这个方法了      
return YES;


25.Stroyboard中:

1、Text :设置文本框的默认文本。

2、Placeholder : 可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。当这个文本框中输入了数据时,用于提示的灰色的字将会自动消失。
3、Background :

4、Disabled : 若选中此项,用户将不能更改文本框内容。
5、接下来是三个按钮,用来设置对齐方式。
6、Border Style : 选择边界风格。

7、Clear Button : 这是一个下拉菜单,你可以选择清除按钮什么时候出现,所谓清除按钮就是出一个现在文本框右边的小 X ,你可以有以下选择:

7.1 Never appears : 从不出现 7.2 Appears while editing : 编辑时出现
7.3 Appears unless editing : 7.4 Is always visible : 总是可见
8、Clear when editing begins : 若选中此项,则当开始编辑这个文本框时,文本框中之前的内容会被清除掉。比如,你现在这个文本框 A 中输入了 "What" ,之后去编辑文本框 B,若再回来编辑文本框 A ,则其中的 "What" 会被立即清除。
9、Text Color : 设置文本框中文本的颜色。
10、Font : 设置文本的字体与字号。

11、Min Font Size : 设置文本框可以显示的最小字体(不过我感觉没什么用)

12、Adjust To Fit : 指定当文本框尺寸减小时,文本框中的文本是否也要缩小。选择它,可以使得全部文本都可见,即使文本很长。但是这个选项要跟 Min Font Size 配合使用,文本再缩小,也不会小于设定的 Min Font Size 。 接下来的部分用于设置键盘如何显示。
13、Captitalization : 设置大写。下拉菜单中有四个选项:
13.1 None : 不设置大写
13.2 Words : 每个单词首字母大写,这里的单词指的是以空格分开的字符串
13.3 Sentances : 每个句子的第一个字母大写,这里的句子是以句号加空格分开的字符串
13.4 All Characters : 所以字母大写
14、Correction : 检查拼写,默认是 YES 。

15、Keyboard : 选择键盘类型,比如全数字、字母和数字等。
16、Appearance:

17、Return Key : 选择返回键,可以选择 Search 、 Return 、 Done 等。

18、Auto-enable Return Key : 如选择此项,则只有至少在文本框输入一个字符后键盘的返回键才有效。
19、Secure : 当你的文本框用作密码输入框时,可以选择这个选项,此时,字符显示为星号。

1.Alignment Horizontal 水平对齐方式
2.Alignment Vertical 垂直对齐方式

3.用于返回一个BOOL值 输入框是否 Selected(选中) Enabled(可用) Highlighted(高亮)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: