StackOverflow documentationに記載されているように、私自身の質問に答えるつもりです。
HomeTabBarController
CustomAViewController
CustomBViewController
CustomCViewController
:
のは、例を作ってみましょう、あなたはUITabBarController
3とのチャイルズを持っていますあなたの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
の子供のために繰り返すことができます。
(self.tabBarController as! HomeTabBarController).selectCustomATab()
が完全にタブ配列のCustomAViewController
位置が何を無視:あなたは、タブを切り替えるためにそのような何かを行うことができます任意のViewController
子で次に
。
はい、私が質問に書いたように、私は知っています。しかし、プロジェクトをより柔軟にしたいと思います。私が示した方法では、コードの変更を気にすることなく、ストーリーボード内の 'ViewController'子の位置を変更することができます。 – giacavicchioli
var index:Int = self.tabBarController.viewControllers.indexOfObjectIdenticalTo(specificViewController) – Jaswanth
(少なくともSwift 2.2では) 'viewControllers'にはこのようなメソッドはありません – giacavicchioli