iOS-UI-基本控件之UITextField-创新互联

UITextField

成都创新互联公司专业为企业提供大通网站建设、大通做网站、大通网站设计、大通网站制作等企业网站建设、网页设计与制作、大通企业网站模板建站服务,10多年大通做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

IOS开发中必不可少的基本控件,本文主要是列出常用的属性及方法(注XCode版本为7.2)

文本框,可以理解为输入框或者显示框,即用户可以往里面输入文字或图片,可以输入当然也可以显示文字,常用的有对话框,信息,搜索框等等.

父类为UIControl.

属性有

@property(nullable, nonatomic,copy)  NSString  *text; // 显示的文本

@property(nullable, nonatomic,copy)  NSAttributedString   *attributedText NS_AVAILABLE_IOS(6_0); // 提示文本在IOS6.0之后可以使用,默认为空,经测试发现只要text为空时才会显示此文本,text不为空时不会显示此文本,可以当做提示

@property(nullable, nonatomic,strong) UIColor   *textColor;      //显示文本的颜色默认为空无色

@property(nullable, nonatomic,strong) UIFont  *font;         // 文本字体,默认为空,使用系统自带的12号字体

@property(nonatomic)    NSTextAlignment   textAlignment;    // 文本对齐方式,默认为左对齐,也可以右对齐或者居中对齐,都是枚举值

@property(nonatomic)    UITextBorderStyle    borderStyle;     //文本框风格,默认是没有风格的,

@property(nullable, nonatomic,copy)  NSString        *placeholder;     // 提示文本,当用户一调用键盘就会消失,比较实用

@property(nonatomic)    BOOL          clearsOnBeginEditing; // 默认是NO,没有开启此功能,此功能就是文本框右边会有一个x,一键清除所有的内容比较实用


@property(nonatomic)    BOOL          adjustsFontSizeToFitWidth; // 根据字体的大小来自动调整文本框宽度,默认是NO,没有开启

@property(nonatomic)    CGFloat         minimumFontSize;   // 最小字体,不常用,默认为0

@property(nullable, nonatomic,weak)  id delegate;       // 代理,这个有用,如果想知道文本框的更多的变化,要用到代理协议,代理方法,代理方法更加具体

@property(nullable, nonatomic,strong) UIImage        *background;      // 背景图片,默认为空,没有背景图片

@property(nonatomic,readonly,getter=isEditing) BOOL editing;//是否允许编辑,YES允许编辑,NO不允许编辑

@property(nullable, nonatomic,strong) UIView       *leftView;    // 这个有用可以在文本框的左边加上图片或者视图

@property(nonatomic)    UITextFieldViewMode leftViewMode;  //是否显示左视图

@property(nullable, nonatomic,strong) UIView       *rightView;    // 右视图

@property(nonatomic)    UITextFieldViewMode rightViewMode;//是否显示右视图

方法有(一般可能都不怎么用方法)

- (CGRect)borderRectForBounds:(CGRect)bounds;

- (CGRect)textRectForBounds:(CGRect)bounds;

- (CGRect)placeholderRectForBounds:(CGRect)bounds;

- (CGRect)editingRectForBounds:(CGRect)bounds;

- (CGRect)clearButtonRectForBounds:(CGRect)bounds;

- (CGRect)leftViewRectForBounds:(CGRect)bounds;

- (CGRect)rightViewRectForBounds:(CGRect)bounds;

- (void)drawTextInRect:(CGRect)rect;

- (void)drawPlaceholderInRect:(CGRect)rect;

代理方法有

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;    // 返回NO禁止编辑

- (void)textFieldDidBeginEditing:(UITextField *)textField;      // 变成第一响应时调用,就是点击文本框时,已经开始编辑的时候 会触发这个方法

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;     //返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder  要想在用户结束编辑时阻止文本字段消失,可以返回NO  这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息

- (void)textFieldDidEndEditing:(UITextField *)textField;       // 结束编辑的时候调用

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;  // 可以得到用户输入的字符,返回NO,不能改变文本的内容,在这个方法里可以判断用户输入的信息是否符合要求

- (BOOL)textFieldShouldClear:(UITextField *)textField;        // 当用户全部清空的时候的时候 会调用

- (BOOL)textFieldShouldReturn:(UITextField *)textField;       // 点击Return键的时候

更详细的见http://www.cnblogs.com/rayray/p/4221666.html

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:iOS-UI-基本控件之UITextField-创新互联
文章起源:http://scyanting.com/article/dspheh.html