![](/img/trans.png)
[英]How can I switch to another tab in UITabBarController programmatically?
[英]UITabBarController - How to switch to tab of a particular type
我有一個由自定義類(例如HomeTabBarController
)實現的UITabBarController
,在我的情節HomeTabBarController
中,我將其附加為3 ViewController
作為它的子級。
我知道我可以在UITabBarController
使用以選擇特定的視圖控制器:
selectedIndex = 2
但是我想讓我的項目更具靈活性,所以我只想知道它的類型而不是位置,就選擇一個子選項卡。 我該怎么做?
如StackOverflow 文檔中所述,我將回答我自己的問題。
讓我們舉個例子,您有一個帶有3個孩子的UITabBarController
:
HomeTabBarController
CustomAViewController
CustomBViewController
CustomCViewController
在您的HomeTabBarController
控制器中,您可以這樣放置一個func:
func selectCustomATab() {
var tab = 0
for v in viewControllers! {
for k in v.childViewControllers {
if k is CustomAViewController {
tab = viewControllers!.indexOf(v)!
}
}
}
selectedIndex = tab
}
就是這樣,您可以根據需要為每個ViewController
子項重復執行。
然后,在任何ViewController
子級中,您都可以執行以下操作來切換tab:
(self.tabBarController as! HomeTabBarController).selectCustomATab()
完全忽略選項卡數組中CustomAViewController
位置。
設置您為標簽欄索引值
tabBarController?.selectedIndex = 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.