iOS UITextField的使用详解

//初始化textfield并设置位置及大小
    UITextField  *textField = [[UITextField alloc] initWithFrame:CGRectMake(50, 250, 200, 50)];
    /*
     typedef enum {
     UITextBorderStyleNone,
     UITextBorderStyleLine,
     UITextBorderStyleBezel,
     UITextBorderStyleRoundedRect
     } UITextBorderStyle;
     */
    //设置边框样式,只有设置了才会显示边框样式
    textField.borderStyle = UITextBorderStyleRoundedRect;
    //设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉
    textField.backgroundColor = [UIColor whiteColor];
    //设置背景 注意: 只有在 UITextBorderStyleNone 样式下,设置背景图才会生效,且图片大小小于 text 的frame时,图片会拉伸
    textField.background = [UIImage imageNamed:@"imageName.png"];
    //设置背景  设置enable为NO 时的背景图片
    textField.disabledBackground = [UIImage imageNamed:@"imageName.png"];
    //当输入框没有内容时,默认提示 提示内容为password
    textField.placeholder = @"请输入您的用户名";
    //设置输入框内容的字体样式和大小
    textField.font = [UIFont fontWithName:@"Arial" size:20.0f];
    //设置字体颜色
    textField.textColor = [UIColor redColor];
    /*
     typedef enum {
     UITextFieldViewModeNever, 重不出现
     UITextFieldViewModeWhileEditing, 编辑时出现
     UITextFieldViewModeUnlessEditing, 除了编辑外都出现
     UITextFieldViewModeAlways  一直出现
     } UITextFieldViewMode;
     */
    //输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容
    textField.clearButtonMode = UITextFieldViewModeAlways;
    //输入框中一开始就有的文字
    textField.text = @"RangingWon";
    //密文显示
    textField.secureTextEntry = YES;
    /*
     typedef enum {
     UITextAutocorrectionTypeDefault, 默认
     UITextAutocorrectionTypeNo,  不自动纠错
     UITextAutocorrectionTypeYes, 自动纠错
     } UITextAutocorrectionType;
     */
    //是否纠错
    textField.autocorrectionType = UITextAutocorrectionTypeNo;
    //再次编辑就清空
    textField.clearsOnBeginEditing = YES;
    //内容对齐方式
    textField.textAlignment = UITextAlignmentLeft;
    //内容的垂直对齐方式
    textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    //设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动
    textField.adjustsFontSizeToFitWidth = YES;
    //设置自动缩小显示的最小字体大小,adjustsFontSizeToFitWidth为YES才会起作用
    textField.minimumFontSize = 20;
    /*
     typedef enum {
     UIKeyboardTypeDefault,                  默认键盘,支持所有字符
     UIKeyboardTypeASCIICapable,             支持ASCII的默认键盘
     UIKeyboardTypeNumbersAndPunctuation,    标准电话键盘,支持+*#字符
     UIKeyboardTypeURL,                       URL键盘,支持.com按钮 只支持URL字符
     UIKeyboardTypeNumberPad,                数字键盘
     UIKeyboardTypePhonePad,                 电话键盘
     UIKeyboardTypeNamePhonePad,             电话键盘,也支持输入人名
     UIKeyboardTypeEmailAddress,             用于输入电子 邮件地址的键盘
     UIKeyboardTypeDecimalPad,               数字键盘 有数字和小数点
     UIKeyboardTypeTwitter,                  优化的键盘,方便输入@、#字符
     UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
     } UIKeyboardType;
     */
    //设置键盘的样式
    textField.keyboardType = UIKeyboardTypeNumberPad;
    /*
     typedef enum {
     UITextAutocapitalizationTypeNone,          不自动大写
     UITextAutocapitalizationTypeWords,        单词首字母大写
     UITextAutocapitalizationTypeSentences,    句子的首字母大写
     UITextAutocapitalizationTypeAllCharacters, 所有字母都大写
     } UITextAutocapitalizationType;
     */
    //首字母是否大写
    textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
    /*
     typedef enum {
     UIReturnKeyDefault,           默认 灰色按钮,标有Return
     UIReturnKeyGo,               标有Go的蓝色按钮
     UIReturnKeyGoogle,            标有Google的蓝色按钮,用语搜索
     UIReturnKeyJoin,              标有Join的蓝色按钮
     UIReturnKeyNext,              标有Next的蓝色按钮
     UIReturnKeyRoute,             标有Route的蓝色按钮
     UIReturnKeySearch,            标有Search的蓝色按钮
     UIReturnKeySend,              标有Send的蓝色按钮
     UIReturnKeyYahoo,             标有Yahoo的蓝色按钮
     UIReturnKeyYahoo,             标有Yahoo的蓝色按钮
     UIReturnKeyEmergencyCall,     紧急呼叫按钮
     } UIReturnKeyType;
     */
    //return键模式
    textField.returnKeyType =UIReturnKeyDone;
    /*
     typedef enum {
     UIKeyboardAppearanceDefault,  默认外观,浅灰色
     UIKeyboardAppearanceAlert,   深灰 石墨色
     
     } UIReturnKeyType;
     */
    //键盘外观
    textField.keyboardAppearance=UIKeyboardAppearanceDefault;
    //设置代理
    textField.delegate = self;
    //添加到视图中
    [self.view addSubview:textField];
   
    
    //最右侧加图片是以下代码  左侧类似
    UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];
    textField.rightView=image;
    textField.rightViewMode = UITextFieldViewModeAlways;

代理方法:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    //按return键键盘往下收
    [textField resignFirstResponder];
    return YES;
}

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    //将要开始编辑时触发
    return YES;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    //开始编辑时触发
}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    //将要结束编辑时触发
    return NO;
}

- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    //当文字将要输入时触发
    return YES;
}

- (BOOL)textFieldShouldClear:(UITextField *)textField{
    //将要清除时触发
    return YES;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值