UITextField

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<UITextFieldDelegate> 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

iOS-OC-基本控件之UITextField的更多相关文章

  1. iOS基础UI控件介绍-Swift版

    iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...

  2. 无比迅速敏捷地开发iOS超精美控件

    目录 前言 设计 编码 PaintCode 前言 自从人生第一篇博客<iOS中的预编译指令的初步探究>问世以来 浏览量竟然达到了360多,(路过的大神勿笑!)这些浏览量使我兴奋异常但又令我 ...

  3. 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件

    转自:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...

  4. IOS(一) 基础控件的介绍以及使用

    IOS的界面的制作,相对于Android来说 简洁了很多,虽然创建布局的方式都是两种(代码创建.布局文件) 但是Android中的xml布局文件在某些方面也属于代码创建,因为自己使用到得每一个属性 都 ...

  5. 如何自定义iOS中的控件

    本文译自 How to build a custom control in iOS .大家要是有什么问题,可以直接在 twitter 上联系原作者,当然也可以在最后的评论中回复我. 在开发过程中,有时 ...

  6. IOS的各种控件(转载,防止遗忘)

    UITextView控件的详细讲解 感觉写的相当不错,而且很全就直接转载了 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: #import <UIKit/UIKi ...

  7. iOS中UIButton控件的用法及部分参数解释

    在UI控件中UIButton是极其常用的一类控件,它的类对象创建与大多数UI控件使用实例方法init创建不同,通常使用类方法创建: + (id)buttonWithType:(UIButtonType ...

  8. iOS基本UI控件总结

    包括以下几类: //继承自NSObject:(暂列为控件) UIColor *_color;    //颜色 UIImage *_image;    //图像 //继承自UIView:只能相应手势UI ...

  9. iOS 中UI控件的各种对齐方式总结

    1.textAligment : 文字的水平方向的对齐方式 取值 NSTextAlignmentLeft      = 0,    // 左对齐 NSTextAlignmentCenter    = ...

随机推荐

  1. Android开源项目(二)

    第二部分 工具库 主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过 ...

  2. JAVA Io 缓冲输入输出流

    java中提供带缓冲的输入输出流.在打开文件进行写入或读取操作时,都会加上缓冲,提高了IO读写性能. 1. BufferedInputStream 缓冲输入流 2. BufferedOutputStr ...

  3. 12个Linux进程管理命令介绍

    导读 执行中的程序称作进程.当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作 ...

  4. silk与opencore-amr音频编码对比

    silk与opencore-amr编码对比 在采样率8000 单声道 16位采样精度情况下 silk的压缩率为 1/15 opencore-amr 1/17 对比图 原始的音频编码 opencore- ...

  5. minigui交叉编译整理

    简介 MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于 1998 ...

  6. No handlers could be found for logger "keystoneauth.identity.generic.base"

    一般是因为发现了多个keystone的url造成的.

  7. 【Eclipse】eclipse che 协作开发

    http://www.eclipse.org/che/ http://blog.csdn.net/ccfeng2008/article/details/50881024 http://www.osch ...

  8. 字符串、字符、字节以及bit位小结与疑问

    字符串是由一个个字符组成的,每个字符又有一个或多个字节来表示,每个字节又由8个bit位来表示 在C#里 字符串通常由string来声明,字符由char来声明,字节由byte来表示,位由bit来表示,具 ...

  9. C++拷贝构造函数(深拷贝,浅拷贝)

    对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量.下面看一个类对象拷贝的简单例子. #i ...

  10. Fraction to Recurring Decimal

    Given two integers representing the numerator and denominator of a fraction, return the fraction in ...