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協議