委托与文本输入
委托是Cocoa Touch中一种常见设计模式,而UITextField是常用的文本输入控件。
文本框(UITextField)
UItextField可以接受用户输入的文本。
为了理解UItextField对象点击事件的响应过程,下面介绍第一响应者的概念。
UIResponder
UIResponder是UIKit框架的一个抽象类。
UIResponder定义了一系列方法,用于接收和处理用户事件,例如触摸事件,运动事件和功能控件等。
在以上事件中,触摸事件显然应该由被触摸的视图负责处理。系统会将触摸事件直接发送给被触摸的视图。
其他类型的事件则会由第一响应者扶额处理,UIWindow有一个firstResponder属性指向第一响应者。
当某个UITextField对象或者UITextView对象成为第一响应者时,屏幕会弹出键盘。除了用户点击之外,还可以在代码中向UITextField对象发送becomeFirstResponder消息,使其成为第一相应者。相反,如果要关闭键盘,则可以想UITextField对象发送resignFirstResponder消息,且要求该对象放弃第一响应者状态,一旦第一响应者不是UITextReponder对象,键盘就会消失。
设置UITextField的键盘
UITextField对象有一系列属性,用于设置弹出的键盘。
介绍UITextField对象中另外几个有用的属性:
autocapitalizationType:设置UITextField对象的自动大写功能,包括none(关闭自动大写),words(单词),sentenes(句子),allcharacters(所有字母)四种类型。