UITabBarControllerで最初にデフォルト表示されるタブを指定する方法です。
調べてもObjective-Cでの記述ばかりだったので残しておきます。
結論
TabBarController.swift
を作りselectIndex
で表示したいタブの番号を指定する
class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
selectedIndex = 1
}
}
これで理解できる方、この記事はここまでです。
以下、順にTabbarController.swift
を作った場合と作らなかった場合の挙動と、実装の手順を示していきます。
確認環境
Xcode 11.1
iOS 13.1(Simulator)
Storyboard使用
プロジェクト生成
画像のような状態のデモプロジェクトを用いて進めます。
TabBarControllerに3つのViewControllerを付けておきます。
背景色やタブアイコンは分かりやすさのために適当にしています。
TabBarController.swiftが無い場合
TabBarController.swiftがある場合
TabBarController.swiftを作る
XcodeでTabBarController.swiftを作りましょう
作ったファイルで以下のように記述します
import UIKit
class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
selectedIndex = 1
}
}
クラス付けをする
Storyboardで先ほど作ったTabBarController.swift
とUITabBarControllerを紐づけます
再びアプリ起動
再びアプリを起動すると2番目のタブが最初に表示されるようになります。
もちろん、selectedIndex = 2
とすれば一番右のタブが最初に表示されます。