Xcode 中Interface Builder 工具 是一个功能强大的“所见即所得”开发工具。本文主要介绍属性面板 和 对象库面板
对象库面板:
提供了所有Cocoa Touch 库给我们定义好的界面组件,包括 View 组件和 Controller 组件(所有名字带 xxxxController 的组件)。
使用如下图:
默认列表显示 方格显示
对象库中组件较多,为了查找方便,底部提供了搜索栏,功能强大,一般只要输入关键的几个字母,就能快速找到你需要的组件。
主界面:
主界面提供了一个设计区域,该区域中放入我们设计的所有组件,一般要先放入一个容器组件,如:UIView 视图。然后在视图中放入其他组件。
为了快速查看主界面中相关信息,可以通过左侧的侧边栏(Desk)查看。
树状对象列表
属性面板:
把上面查找到的UIImageView 组件拖入主界面 视图中
该组件提供了一个可以放入图片的区域。打开右侧属性面板(上面第四个)
分为 Image View 和 View 两个区域,体现了两个类之间的继承关系
UIImageView 继承自 UIView,UIView 中的属性 UIImageView 可以直接用
View 属性
(1)Mode :定义内部对齐方式及是否缩放以适用视图大小;
(2)Tag :UIView 所有子类,包括视图和控件,都可以起一个 tag 数字编号,程序中可以通过该编号,找到这个组件;
(3)Interaction : (配合)第一个指定用户是否能够操作该对象,大部分都应该选中,图片除外;第二个指定该控件是否至此多触点事件;
(4)Alpha : (透明度)背景后的内容的可见度,取值范围(0.0-1.0),0.0 完全透明,1.0 完全不透明
(5)Background : 确定背景颜色;
(6)Drawing : Opaque 不透明,Alpha 为 1 时,虽然不透明,但是如果图像中有洞,下面的依然看得到,选中 Opaque 则整个图层完全不透明;
Hidden选中,用户看不见这个控件;
ClearsGraphics Context 选中将会被透明的黑色块覆盖,然后在上面绘制控件,默认关闭;
ClipSubviews : 如果有子视图,没有完全包含在父视图内,选中后,只在父视图中的部分会显示,默认禁用;
AutoresizeSubviews :允许iOS 调整子视图大小,默认选中;
(7)Stretching : (拉伸)可以忽略,只有当屏幕上调整矩形视图大小且需要重新绘制时,才需要拉伸。这里需要设置 4 个浮点值(0.0-1.0),如果希望每条边 10%是不可以拉伸,那么 x y 都指定为 0.1 ,widthheight 都设为 0.8。默认 x y都是 0.0 ,width height 为 1.0
上面的 View 属性,一般都保持默认,我们选中在 UIImageView 区域内显示的图片为 icon@2x.png 后,选中这个图片,可以 在 上面第五个面板中修改它的尺寸
文本框组件 UITextField
在对象库中中选择 文本框组件,拖入 UIView 视图中
文本框的属性列表如下:
(1)Text : 默认选择 Plain,然后在下面输入你想在启动时显示给用户的提示文字;
(2)Color :设置输入框中文字的颜色
(3)Font :字体和大小
(4)Alignment :文字对齐方式
(5)Placeholder : 用于指定将在文本字段中以灰色显示的文本,前提时该字段没有值。占位字符
(6)Background Disabled : 背景图片、是否允许适用背景图片
(7)Border Style : 4 个按钮,更改文本字段边框的绘制方式,一般用默认值
(8)Clear Button :
(9)Clear When editing begins : 指定用户触摸该字段的操作。选中该项,之前该字段中的任何值都将被删除,并且用户能重新输入。
(10)Min Font Size :指定输入文本变多后,文字变小的最小尺寸;
Adjustto Fit :确保整个文本在视图中可见;
下面属性,定义使用文本字段时 键盘的外观和行为。
(11)Capitalization : Words 所有单词自动首字母大写;Sentences 控制句子;All Characters 所有的字母
(12)Corrention : 一致性
(13)Keyboard : 键盘排列方式
(14)Appearance : 键盘上面输入完毕后的 <确定>按钮的外观
(15)Auto-enable Return Key : 选中,return 键被禁用,直到至少在文本字段中键入一个字符。
(16)Secure : 指定文本框是否作为密码框
关闭键盘:
用户按下 Done 后,生成一个 Did End On Exit 事件
-(IBAction)textFieldDoneEditing: (id)sender
{
[sender resignFirstResponse];//放弃第一响应者的控制权
}
用户触摸背景关闭键盘
通过背景控制器类 UIViewController 中提供方法
-(IBAction)backgroundTap: (id)sender
{
[xxxField resignFirstResponder];
}