【IOS开发】UITextField 常用属性

常用属性及方法总结 

文字属性

  •   text  //文本内容
  •   placeholder   //默认使用70%灰色
  •   font //字体
  •   textColor //文本颜色
  •   textAlignment  UITextAlignmentLeft;//默认就是左对齐,这个是UITextField扩展属性

文字大小

  •   adjustsFontSizeToFitWidth adjustsFontSizeToFitWidth = YES; //自适应大小
  •   minimumFontSize  //自适应最小的size
  • contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 垂直居中
  • contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter; 水平居中

编辑行为

  •  editing     //是否正在编辑(read-only)
  •  clearsOnBeginEditing clearsOnBeginEditing = NO;//设置为YES当用点触文本字段时,字段内容会被清除
  •  passwdField.secureTextEntry = YES;//密码类型
  •  autocorrectionType = UITextAutocorrectionTypeNo; //自动纠错

展现形态

  •   borderStyle     //默认UITextBorderStyleNone,是UITextBorderStyleRoundedRect时自定义的background无效
  •   background  //背景色
  •   disabledBackground  property    //background未设置时,这个会无效

覆盖视图

  •   clearButtonMode clearButtonMode = UITextFieldViewModeUnlessEditing;//右边显示的'X'清楚按钮
  •   leftView   //clearButton那样的视图,不过在左边,不要忘了设置mode
  •   leftViewMode 
  •   rightView   //默认覆盖clearButton
  •   rightViewMode 

访问代理

  •   delegate  property

绘画界面

以下都不应直接调用,需要的话可以重写

  • – textRectForBounds:  //重写来重置文字区域
  • – drawTextInRect:  //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
  • – placeholderRectForBounds:  //重写来重置占位符区域
  • – drawPlaceholderInRect:  //重写改变绘制占位符属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
  • – borderRectForBounds:  //重写来重置边缘区域
  • – editingRectForBounds:  //重写来重置编辑区域
  • – clearButtonRectForBounds:  //重写来重置clearButton位置,改变size可能导致button的图片失真
  • – leftViewRectForBounds:
  • – rightViewRectForBounds:

代替输入

  •   inputView     //代替标准的系统键盘
  •   inputAccessoryView   //编辑时显示在系统键盘或用户自定义的inputView上面的视图

 

 

UITextFieldBorderStyle

typedef enum {
UITextBorderStyleNone,//无框
UITextBorderStyleLine,//线框
UITextBorderStyleBezel,//bezel风格线框
UITextBorderStyleRoundedRect//圆角边框
} UITextBorderStyle;

UITextFieldViewMode

typedef enum {
UITextFieldViewModeNever, //从来不出现
UITextFieldViewModeWhileEditing, //编辑时出现
UITextFieldViewModeUnlessEditing,//除了编辑时,其他都出现
UITextFieldViewModeAlways//一直出现
} UITextFieldViewMode; 

Notifications

UITextFieldTextDidBeginEditingNotification

UITextFieldTextDidChangeNotification

UITextFieldTextDidEndEditingNotification

 

委托事件

@protocol UITextFieldDelegate <NSObject>

@optional

 

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;        // 返回NO则不许编辑

- (void)textFieldDidBeginEditing:(UITextField *)textField;           // became first responder

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;          // 返回YES允许结束并且resign first responder status. 返回NO不许编辑状态结束

- (void)textFieldDidEndEditing:(UITextField *)textField;             // 上面返回YES后执行;上面返回NO时有可能强制执行(e.g. view removed from window)

 

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;   // 返回NO不改变

 

- (BOOL)textFieldShouldClear:(UITextField *)textField;               // clear button事件,返回NO过滤之

- (BOOL)textFieldShouldReturn:(UITextField *)textField;              // 'return' key事件.返回NO过滤之


设置字数限制:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;  
{  
    if ([string isEqualToString:@"\n"])   
    {  
        return YES;  
    }  
    NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string];  
      
    if (self.myTextField == textField)   
    {  
        if ([toBeString length] > 20) {  
            textField.text = [toBeString substringToIndex:20];  
            UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:nil message:@"超过最大字数不能输入了" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil] autorelease];  
            [alert show];  
            return NO;  
        }  
    }  
    return YES;  
} 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值