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 區域內顯示的圖片為 [email protected] 後,選中這個圖片,可以 在 上面第五個面板中修改它的尺寸
文本框組件 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];
}