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

UITextField的基本使用

2016-06-12 12:15 393 查看
在一个应用程序中,如果用户想要输入一些信息的时候就可能要使用UITextField控件,来输入内容。

基本使用:

1.创建

如果是使用xib拖拽的那么UITextField高度默认为30px,不可以调整。

如果是使用代码创建的那么可以随意更改UITextField的高度。

UITextField *field = [[UITextField alloc]initWithFrame:CGRectMake(20, 200, 320, 60)];


2.属性

常用属性:

field.borderStyle = UITextBorderStyleRoundedRect;//边框样式,一般设置为 UITextBorderStyleRoundedRect
/*UITextBorderStyleNone //无样式
UITextBorderStyleLine //线性
UITextBorderStyleBezel //板式
*/

field.placeholder = @"占位文字";
/*
UITextFieldViewModeNever //默认显示没有
UITextFieldViewModeWhileEditing //输入时显示有叉号
UITextFieldViewModeUnlessEditing //不输入时显示有叉号
UITextFieldViewModeAlways //一直显示有叉号,
*/

field.secureTextEntry = YES;//设置输入框变为密码框  每输入一个字符就变成点

[field becomeFirstResponder];//成为第一响应者
[field resignFirstResponder];//失去第一响应

field.keyboardType = UIKeyboardTypeURL;//键盘样式
/*
UIKeyboardTypeDefault,                // 默认状态,支持所有字符
UIKeyboardTypeASCIICapable,           // 可以输入ASCII码
UIKeyboardTypeNumbersAndPunctuation,  // 数字和标点符号
UIKeyboardTypeURL,                    // 字母和url(com)
UIKeyboardTypeNumberPad,              // 数字键盘
UIKeyboardTypePhonePad,               // 数字带+*# 电话键盘
UIKeyboardTypeNamePhonePad,           // 电话键盘支持输入人名
UIKeyboardTypeEmailAddress,           // 字母带@. 输入电子邮件
UIKeyboardTypeDecimalPad NS_ENUM_AVAILABLE_IOS(4_1),   // 数字键盘带.
UIKeyboardTypeTwitter NS_ENUM_AVAILABLE_IOS(5_0),      // 字母带@#
UIKeyboardTypeWebSearch NS_ENUM_AVAILABLE_IOS(7_0),    // 字母带  前往 按钮
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // 可以输入ASCII码 首字母大写
*/

field.returnKeyType = UIReturnKeyDefault;//设置return键的类型
/*
UIReturnKeyDefault,       //return键显示默认状态 return
UIReturnKeyGo,            //return键显示Go
UIReturnKeyGoogle,        //return键显示Search
UIReturnKeyJoin,          //return键显示Join 加入
UIReturnKeyNext,          //return键显示next 下一个
UIReturnKeyRoute,         //return键显示Route
UIReturnKeySearch,        //return键显示Search 搜索
UIReturnKeySend,          //return键显示Send 发送
UIReturnKeyYahoo,         //return键显示Search
UIReturnKeyDone,          //return建显示Done
UIReturnKeyEmergencyCall,
*/

field.keyboardAppearance=UIKeyboardAppearanceDefault;//设置键盘风格
/*
UIKeyboardAppearanceDefault //默认
UIKeyboardAppearanceDark //深灰
UIKeyboardAppearanceLight //高亮
UIKeyboardAppearanceAlert //石墨色
*/


不常用属性:

field.text = @"设置文字";
field.textColor = [UIColor yellowColor];//设置字体颜色
field.font = [UIFont systemFontOfSize:24];//设置字体大小
field.textAlignment = NSTextAlignmentLeft;//文字位置,默认为文字在左侧
/*
NSTextAlignmentLeft //文字居左
NSTextAlignmentCenter //文字居中
NSTextAlignmentRight //文字在右侧
*/

field.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;//内容文字的位置
/*
UIControlContentVerticalAlignmentCenter  = 0,
UIControlContentVerticalAlignmentTop     = 1,
UIControlContentVerticalAlignmentBottom  = 2,
UIControlContentVerticalAlignmentFill    = 3,
*/

field.autocapitalizationType = UITextAutocapitalizationTypeNone;//首字母是否大写
/*
UITextAutocapitalizationTypeNone,          //全部小写
UITextAutocapitalizationTypeWords,         //每个单词(中间有空格)的首字母大写
UITextAutocapitalizationTypeSentences,     //第一个单词的首字母大写
UITextAutocapitalizationTypeAllCharacters, //全部大写
*/

field.autocorrectionType = UITextAutocorrectionTypeNo;//是否纠错
/*
UITextAutocorrectionTypeDefault, //默认
UITextAutocorrectionTypeNo,      //不自动纠错
UITextAutocorrectionTypeYes,     //自动纠错
*/

field.background = [UIImage imageNamed:@"XX.png"];//设置背景图片  只有当设置外框类型为UITextBorderStyleNone时才有效

field.clearsOnBeginEditing = YES;//当再次编辑输入框时 输入框的内容就会被清空

field.adjustsFontSizeToFitWidth = YES;//设置为YES时文本会自动缩小以适应文本窗口大小,默认是保持原来大小,而让长文本滚动

field.clearsOnBeginEditing = YES;//当再次编辑输入框时 输入框的内容就会被清空

field.minimumFontSize = 15.0f;//设置输入框字体最小值

field.disabledBackground = [UIImage imageNamed:@"XX.png"];//当它被禁用时,该图像表示文本字段的背景外观。


高级使用:

1.有时为了让用户能更清楚的看到光标会让光标往右侧移动一些,做法是在UITextField的左侧放一个UIView视图

UIView *leftView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
field.leftView = leftView;
field.leftViewMode = UITextFieldViewModeAlways;//leftViewMode是个枚举类型
/*
UITextFieldViewModeNever //总是不显示
UITextFieldViewModeWhileEditing //编辑的时候显示
UITextFieldViewModeUnlessEditing //除了编辑时显示
UITextFieldViewModeAlways //总是显示
*/


2.左侧有一个图片,这个方法与第一种方法一致,在左侧显示一个UIImageView即可

3.在UITextField中左侧与右侧一样只是把left变为right

4.在UITextField中可以设置很多效果,但是一般都是使用代理来设置

//遵守代理协议 UITextFieldDelegate
field.delegate = self;//设置代理

#pragma mark - UITextFieldDelegate
//设置输入框,是否可以被修改
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return YES;
}

//开始编辑时获得焦点时,执行该方法
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
}

//是否允许文本字段接触,当编辑结束,文本字段会让出first responder
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
return NO;
}

//文本框结束编辑以后会调用
- (void)textFieldDidEndEditing:(UITextField *)textField
{
}

//是否允许被修改,UITextField内容修改时调用
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
return YES;
}

//是否允许根据用户请求清除内容
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
return YES;
}

//是否允许在按下回车键时结束编辑
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
return YES;
}


类似文章推荐:http://blog.csdn.net/KevinQueen/article/details/50548723
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息