1. 程式人生 > >iOS開發基礎學習筆記——標籤欄(UITabBar)

iOS開發基礎學習筆記——標籤欄(UITabBar)

一、     物件的建立(可用程式碼,也可以使用IB)

                        記得對標籤設定標記Tag,使用的時候按照Tag值呼叫

                        可以通過設定SelectedItem屬性,選擇預設選中的標籤(檢視)

二、     標籤欄的代理(UITabBarDelegate)實現不同檢視的切換

代理只有5該方法,如截圖:

 

其中最後一個是選擇時自動關呼叫,可以通過Item的Tag值在switch選擇顯示哪個檢視(用於程式碼生成時)

注意:這裡使用的切換與三中切換不同,這裡的標籤按鈕是新增在標籤欄上,通過標籤的Tag值進行的控制器切換,而下面的切換方式是在相應的檢視控制器設定好標籤,連線時自動在標籤欄生成標籤。[物件是標籤欄]

三、     標籤欄控制器(UITabBarController)--實現多檢視切換

屬性截圖:

 

1、        使用故事版切換多個控制器檢視

a、        在故事版中拖入TabBarController(默有兩個控制器檢視)

b、        如何新增更多檢視控制器了?--選中TabBarController按住Control拖拽到相應需要新增的檢視,從彈出框中選擇Relationship Sege下的ViewController即可(會自動新增標籤按鈕)

c、         如何同時使用導航欄和標籤控制器?--待解決

2、        使用程式碼的方式實現多個控制器的切換()

a、        在AppDelegate檔案中程式啟動呼叫方法;didFinishiLaunchingWithOption中,建立視窗和建立UITabBarController物件並作為根控制器

b、        建立或者獲取多個檢視控制器(UIViewController)【如果需要導航欄,可以加上導航欄】的物件。

let pushController = UINavigationController(rootViewController: pushViewController())


c、         依次為每個物件的TabBarItem(可定製)賦值【注意:這裡與想象的不一樣,標籤按鈕是在對應的檢視控制器內生成的,並不是直接在標籤欄上新增的】

d、        設定UITabBarController的Viewcontrollers屬性(即把它與標籤欄控制器連線起來)

//把控制器探加到標籤欄上
        tabBarController.viewControllers = [rankController,pushController,searchController,moreController,circleController]


e、        設定視窗的根控制器,讓視窗為主視窗顯示

提示:如果使用純程式碼編寫軟體介面,請去掉Main.storyboard並且在info.plist中取消main storyboard file base name的Main值,才可以正常執行,最後需要新增讓視窗可是化語句,否則不會顯示視窗

self.window.makeKeyAndVisible()<p style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: 'PingFang SC'; color: rgb(76, 191, 87);"><span style="line-height: normal; font-family: Menlo; font-variant-ligatures: no-common-ligatures;">//</span><span style="font-variant-ligatures: no-common-ligatures">產生和可視視窗。【沒有這個語句將一片黑】</span></p>


四、     UITabBarControllerDelegate協議