iOSでストーリーボードを使用するときにデフォルトのタブを設定する方法を教えてください。これを達成する方法がわかりません。
ありがとうございました
iOSでストーリーボードを使用するときにデフォルトのタブを設定する方法を教えてください。これを達成する方法がわかりません。
ありがとうございました
をサブクラス化するのはやり過ぎのように思えるかもしれUITabBarController
ませんが、それが最もクリーンなソリューションを提供すると思います。
BaseTabBarController.swift
を追加し@IBInspectable
て設定しviewDidLoad
ます:
class BaseTabBarController: UITabBarController {
@IBInspectable var defaultIndex: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
selectedIndex = defaultIndex
}
}
UITabBarController
ストーリーボードで、あなたを新しいサブクラスに設定します。
UITabBarController
。の最後にこれを追加しviewDidLoad
ます。
self.selectedIndex = 1;
この新しいファイルをストーリーボードのカスタム クラスとして設定しUITabBarController
ます。
あなたは終わった。
次のコードは私のために働いた:
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
tabBarController.selectedIndex = 2;
次の 2 つの方法のいずれかを使用できます。
tabBar.items = tabBarItems;
tabBar.selectedItem = [tabBarItems objectAtIndex:0];
またはオブジェクトからの直接メソッド
[tabBar setSelectedItem:myUITabBarItem];
または、これらを組み合わせてこれを行うことができます。
tabBar.items = tabBarItems;
[tabBar setSelectedItem:[tabBarItems objectAtIndex:0]];
しかし、私はまだその方法をテストしていません。
appdelegate findapplicationDidBecomeActive
関数で、この行を追加します
let tabBarController = self.window?.rootViewController as! UITabBarController
tabBarController.selectedIndex = 0 // any index you want