在一个应用程序中,如果用户想要输入一些信息的时候就可能要使用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