1 视图的分类
- 控件。继承自UIControl类,能够响应用户高级事件。
- 窗口。它是UIWindow对象。一个iOS应用只有一个UIWindow对象,它是所有子视图的“根”容器。
- 容器视图。它包括UIScrollView。UIToolBar以及它们的子类。UIScrollView的子类有UITextView、UITableView和UICollectionView,在内容超出屏幕时,它们可以提供水平或垂直滚动条。UIToolbar是非常特殊的容器,他能够包含其他控件,一般置于屏幕底部,特殊情况也可以置于屏幕顶部
- 显示视图。用于显示信息,包括UIImageView、UILable、UIProgressView和UIActivityIndicatorView等。
- 文本和Web视图。提供了能够显示多行文本的视图,包括UITextView和UIWebView,其中UITextView也属于容器视图,UIWebView是你鞥高加载和显示HTML代码的视图
- 导航视图。为用户提供从一个屏幕到另一个屏幕的导航(或跳转)视图,它包括UITabBar和UINavigationBar
- 警告框和操作表。用于给用户提供一种反馈或者与用户进行交互。UIAlertView视图是一个警告框,它会以动画形式弹出来;而UIActionSheet视图给用户提供可选的操作,从屏幕底部滑出。
2 TextField控件和TextView控件
2.1 TextField控件和TextView控件与label控件一样,是文本类控件,是可以编辑文本内容的,但比label控件多一个键盘的使用。
2.2 TextField控件由UITextField类创建,对应UITextFieldDelegate委托协议。TextField继承了UIControl。打开TextField属性检查器,在Placeholder属性中输入提示文字,在运行时改文本是浅灰色的,当有输入动作时文泵消失。可以利用TextField后面的清楚按钮(Clear Button)清除TextField的内容
2.3 TextView由UITextView类创建,继承自UIScrollView,对应UITextViewDelegate委托协议。
2.4 键盘的打开和关闭
一旦TextField和TextView等控件处于编辑状态,系统就会只能地弹出键盘,但不能自动关闭。当TextField或TextView处于编辑状态时,这些控件变成了“第一响应者”,要关闭键盘,就要放弃“第一响应者”的身份。在iOS中,事件沿着响应者链从一个响应者传到下一个响应者,如果其中一个响应者没有对事件作出响应,那么该事件会重新向下传递。
不同的控件成为“第一响应者”之后“表现”不太一致。TextField和TextView等输入类型的控件会出现键盘,而我们只有放弃他们的“第一响应者”身份,键盘才会关闭。要放弃“第一响应者”身份,需要调用UIResponder类中的resignFirstResponder方法,此方法一般在点击键盘的return键或者是背景视图时触发。
2.5 关闭和打开键盘的通知
在关闭和打开键盘时,iOS系统分别会发出如下广播通知:UIKeyboardDidHideNotification和UIKeyboardDidShowNotification,使用通知须在合适的时机注册和解除通知
2.6 键盘的种类
在iOS中,打开有输入动作的控件的属性检测器,可以发现Keyboard的下拉选项有10种类型键盘。
return键的文本也可以在Return Key中选择
3 开关控件、滑块控件和分段控件
三者都是UIControl的子类
3.1 开关控件
开关控件类似于Window中的复选框,它只有两种状态:TURE(或YES)和FALSE(或NO),两种状态的切换方法是setOn:animated:
3.2 滑块控件
在视图上拖拽一个滑块控件,然后将其水平放置。打开它的属性检查器,将其最小值、最大值、初始值依次设置为0.0,1.0,0.5 。这样滑块的值就是0.0f - 1.0f之间的浮点数了
3.3 分段控件
功能类似于单选按钮,它有两种样式--Plain&Bordered样式和Bar样式,可通过属性检查器中的Style属性设置。Plain&Bordered样式中的每一段都可以设置文本、添加图片。Bar样式的段一般不放置图片