[心得] 使用nib檔做為GUI元件
使用nib檔作為GUI的元件,不但易於排版,而且對於程式碼的管理上也很好。
一個GUI元件在概念上也剛好是一個程式碼的物件(object),
將它分拆出來有助於維持整體的簡潔。
看看Apple怎麼描述nib檔:
製作OS X及iOS的應用程式時,nib檔扮演著相當重要的角色。你可以透過Xcode用圖形的
方式去建立及調整使用者介面,取代撰寫程式的方法。因為你可以立即看到改變的結果,
所以能很快的測試不同版型及設定。並能不改寫任一行程式碼,即可修改大部份的使用者
介面。
對於採用AppKit或UIKit製作的應用程式,nib檔有額外的重要性。這兩個架構都支援使用
nib檔來對windows, views及controls排版,並可以與程式碼整合。Xcode協助你連結使用
者介面控制與迴饋的部份。這樣的整合有效減少nib檔讀入後的設定步驟,並且使你未來
可簡單的改變程式碼與使用者介面的關係。
from Resource Programming Guide, Apple
以下簡單介紹使用nib檔來加入一個上傳指示元件:
http://ppt.cc/pyC!
CustomView.xib
這個nib檔裡面很簡單,有一個UIView,將它的class設為CustomView.h。
UIView下面包含了一個UIActivityIndicatorView及UILabel
(待會用IBOutlet將它們連結起來)。
https://gist.github.com/1729514
CustomView.h / CustomView.m
很簡單,就只有兩個IBOutlet,以及一個define marco。
使用Xcode將這兩個IBOutlet與CustomView.xib裡面拉好的版面連結起來即可。
ViewController.h / ViewController.m
13行 在 viewDidAppear: 的時候將nib檔載入。
17行 使用的方法是 NSBundle 的 loadNibNamed:owner:options:來載入。
20行 這個forin fast enumeration用來找出CustomView元件。
26行 將CustomView加入目前的view當中。
27行 讓UIActivityIndicatorView轉起來
28行 UILabel顯示為「Uploading 2 photo(s)...」
若一切沒錯,
即可發現一個轉動的UIActivityIndicatorView與「Uploading 2 photo(s)...」
出現在螢幕上。
--
BBS實在不好排版呀~~@@"
開燈有網誌版
http://fatboyinteraction.blogspot.com/2012/02/nibguiguiobject-applenib-os.html
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.167.60
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章