三種項目欄總結:
共同屬性和方法:
@property(nonatomic,copy) NSArray *items; //按鈕單元數組
- (void)setItems:(NSArray *)items animated:(BOOL)animated; //將按鈕單元全部設置到項目欄上
注意:一個導航欄控制器只對應一個導航欄,例外,它同時有一個工具欄,不過默認狀態下,它是隱藏的,如果需要,需要把它打開。一個標簽欄控制器僅僅只有一個標簽欄。
導航欄,標簽欄,工具欄和狀態欄
狀態欄
雖然您難以控制狀態欄的內容,但是您可以定制它的外觀,並在一定程度上定制它的行為。具體來說,您可以:設定網絡活動指示器是否應該可見。如果您的應用程序正在執行的一項網絡操作會持續幾秒鍾以上,則應該顯示網絡活動指示器。如果該網絡操作將在幾秒鍾之內完成,則不必顯示網絡活動指示器,因為它很可能在用戶意識到它的存在之前便消失了。(在您的代碼中,您可以使用UIApplication的方法networkActivityIndicatorVisible來控制指示器的可見性。)指定狀態欄的顏色。您可以選擇灰色(默認的顏色),不透明的黑色或半透明的黑色(也就是α值為0.5的黑色)。圖6-2顯示了這些樣式。(請注意,您應該在Info.plist文件中設置一個值來指定狀態欄的樣式;更多相關的信息請參考iPhone應用程序編程指南。)設置是否應該采用動畫方式顯示狀態欄顏色的改變。(請注意,動畫效果會使舊的狀態欄一直滑出屏幕,最后消失,同時新的狀態欄會滑動到相應的位置上。)
導航欄
導航欄上的按鈕周圍有一圈帶邊角的框。在iPhone OS中,這種樣式被稱為邊框樣式。導航欄的所有控件都要使用邊框樣式。事實上,即使您在導航欄上放置一個無格式(沒有邊框)的控件,它也會自動轉換為有邊框的樣式。雖然您可以為所有在導航欄中顯示的文本指定字體,但為了可讀性,推薦您使用系統字體。當您使用適當的UIKit編程接口創建導航欄時,其標題將自動采用系統字體來顯示。
工具欄
對於工具欄上顯示的項,最好對其數目加以限制,這樣用戶可以輕松地點擊到他們所需的項。我們向您推薦的用戶界面元素的點擊區域為44 x 44像素,因此,為用戶提供五個以下的工具欄項是比較合理的。雖然您既可以在工具欄中使用帶邊框樣式的按鈕,也可以使用無格式按鈕,但是您不要將這兩種樣式在同一工具欄中混合使用。
標簽欄
標簽欄絕不應該被當做工具欄使用,區別在於工具欄上的按鈕是對當前模式下的元素起作用的.標簽欄使用標簽顯示圖標和文本,這些標簽的寬度一致,並且都以黑色為背景。當一個標簽被選中時,它的背景變亮,標簽中的圖像也會高亮顯示。
注意: 不管設備的方向如何變化,標簽欄不會改變它的不透明性和高度。
如果您的應用程序的標簽欄包含的標簽數目超過五個,iPhone OS會在標簽欄上顯示四個標簽,並添加一個“更多”標簽.
隱藏標簽欄的方式有兩種:
第一種方式:通過設置視圖控制器的hidesBottomBarWhenPushed屬性(在視圖加載成功之前)
第二種方式: 通過重新設置標簽欄控制器視圖的的兩個子視圖的frame(視圖顯示成功之中)