IOS 學習筆記(3) 檢視UITabbarController

haibo wang發表於2014-04-12

1.UITabbarViewController標籤試圖控制器。由於標籤頁本就起著分類的作用,所以往往呈現的檢視內容之間,可以是毫不相關的功能。

UITabbarViewController仍然繼承自UIViewController,但標籤欄和導航欄都有著始終處於所有檢視最前端的特性。

對於標籤頁欄,他是一個UITabbar類的物件,無論橫豎屏,在其之上可以放置最少1個,最多5個的標籤頁。當然如果有更多的標籤頁的話,頁欄會將最後的標籤頁改變成一個預設的"More"標題帶有預設的“...”圖片的標籤專案。

並且,UITabbarController還支援排序的編輯功能,只要開發者為UITabbarController的customizableViewControllers屬性配置上支援編輯的所有試圖控制器,在隨後的“”More“標籤項所顯示的導航檢視右上方,使用者可以點選”Edit“開啟編輯模式,自定義想要顯示在標籤欄頁上的專案,以及相互之間的順序。

2.標籤頁上的標記

當試圖控制器和某個標籤頁互相關聯後,開發者就可以通過檢視控制器物件的tabBarItem屬性來訪問到標籤專案,對於標記來說,只需要對tabBarItem的badgeValue賦上字串內容即可,

self.navigationController.tabBarItem.badgeValue=badgeTxtF.text

3.標籤欄上的警告框

由於UITabbarController的UITabbar物件對於整個檢視層次來說,處於一種始終位於最前最上層的狀態。所以當開發者有需要以UIActionSheet進行警告框的呈現時,不再適用於showInView的方法,取而代之的時UIActionSheet物件的showFromTabBar方法

1 UIActionSheet *sheet=[[UIActionSheet alloc]initWithTitle:@"測試警告框" delegate:nil cancelButtonTitle:@"取消"  destructiveButtonTitle:@"重要按鈕"  otherButtonTitles:nil];
2 
3 [sheet showFromTabBar:self.tabBarController.tabBar];

4.隱藏標籤欄

  就像上一節我們介紹的導航欄和狀態列隱藏那樣,標籤欄在某些情況下同樣也支援隱藏。

  這裡之所以要說到”某些情況下“,是因為預設的標籤欄無法隱藏,即使我們強行將UITabbar物件的hidden屬性設定成了YES,整個介面上會在標籤欄的位置留下一片空白,任何試圖控制器都無法將其真正覆蓋。

  但是到標記專案所對應的檢視控制器是一個導航檢視控制器,當為導航檢視控制器壓棧顯示一個新檢視時,開發者可以通過新檢視控制器的hidesBottomBarWhenPushed來讓新的檢視顯示在無標籤欄的狀態下。由於新的檢視會填滿標籤欄所在位置而造成自己的高度拉伸,檢視上面的所有控制元件需要保持位置的正確。

1 testVC.hidesBottomBarWhenPushed=YES;

 

相關文章