UITextField的基本使用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值