Xcode 中Interface Builder 工具 是一個功能強大的“所見即所得 (WYSIWYG)”開發工具。本文主要介紹屬性面板 和 物件程式庫面板
物件程式庫面板:
提供了所有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];
}