簡體   English   中英

UITabBarController-如何切換到特定類型的選項卡

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM