iOS-OC-基本控件之UITextField

简介: UITextField IOS开发中必不可少的基本控件,本文主要是列出常用的属性及方法(注XCode版本为7.2) 文本框,可以理解为输入框或者显示框,即用户可以往里面输入文字或图片,可以输入当然也可以显示文字,常用的有对话框,信息,搜索框等等.

UITextField

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

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

父类为UIControl.

 

属性有

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

 

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

 

@property(nullablenonatomic,strongUIColor      *textColor;            //显示文本的颜色默认为空无色

 

@property(nullablenonatomic,strongUIFont    *font;                 // 文本字体,默认为空,使用系统自带的12号字体

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

@property(nullablenonatomic,strongUIImage                *background;           // 背景图片,默认为空,没有背景图片

 

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

 

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

 

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

 

@property(nullablenonatomic,strongUIView              *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

相关文章
|
iOS开发
iOS 多个滚动控件嵌套Demo
iOS 多个滚动控件嵌套Demo
71 0
|
Swift iOS开发
iOS OC混编Swift 后者无法走断点
iOS OC混编Swift 后者无法走断点
81 0
|
iOS开发
iOS 常用的 上下左右 拉刷新控件
iOS 常用的 上下左右 拉刷新控件
106 0
|
安全 数据安全/隐私保护 iOS开发
iOS 初探代码混淆(OC)
自己做iOS开发也有几年的时间了,平时做完项目基本就直接打包上传到Appstore上,然后做上架操作了。但是最近,客户方面提出了代码安全的要求。说是要做代码混淆,这方面的工作之前从来没有接触过。然后就上网查了一下,原来有很多应用程序都做了代码混淆。看来是我固步自封了......
iOS 初探代码混淆(OC)
|
iOS开发
iOS短信验证码控件,自动输入回调两次解决办法
iOS短信验证码控件,自动输入回调两次解决办法
481 0
|
iOS开发
IOS的UITableView控件简单使用
IOS的UITableView控件简单使用
160 0
|
iOS开发
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
149 0
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
iOS-UITextView设置行间距,内容颜色(变相设置类似UITextField的placeholder)
iOS-UITextView设置行间距,内容颜色(变相设置类似UITextField的placeholder)
372 0
iOS-UITextView设置行间距,内容颜色(变相设置类似UITextField的placeholder)
|
安全 iOS开发
iOS小技能:下拉刷新控件的适配
1. 下拉顶部背景色设置: 往tableView的父控件添加拉伸背景视图 2. present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式`UIModalPresentationFullScreen`,而是半屏样式,需要根据需求手动设置。 present 半屏,会导致列表下拉刷新失效。
209 0
iOS小技能:下拉刷新控件的适配
|
iOS开发
iOS小技能:自动布局实现兄弟控件N等分且宽高比例是1:N(xib 上实现)
本文为 iOS视图约束专题的第三篇:xib上使用自动布局教程
182 0