Swift

[Swift]5行でTabBarを移動し、さらにVCを遷移させるスニペット。

こんにちは、株式会社PlaygroundのiOSエンジニア伊原です。

たまに、こんな画面遷移をしたいことがあります。

コードでタブを移動させ、移動先からさらにVCを遷移させるという感じ。

例えば、

飛んできたPush通知を触ったら

お知らせタブの特定のお知らせ詳細ぺージに飛びたい時など。

以下5行をコピペして、3ヶ所に任意の値を入れればOK。

スニペット

let vc = <#ViewController#>()
let rootVC = UIApplication.shared.windows.first?.rootViewController as? UITabBarController
let navigationController = rootVC?.children[<#tabIndex#>] as? UINavigationController
rootVC?.selectedIndex = <#tabIndex#>
navigationController?.pushViewController(vc, animated: false)

 

解説

<#ViewController#> = 遷移させたいVC

tabIndex = 移動させたいTabのindex番号(1番左が[0]、左から2番目が…)

例えば、左から4番目のタブに移動しつつ、そのさきのHogeViewControllerに移動したい場合は以下のようになります。

サンプル

let vc = HogeViewController()
let rootVC = UIApplication.shared.windows.first?.rootViewController as? UITabBarController
let navigationController = rootVC?.children as? UINavigationController
rootVC?.selectedIndex = 3
navigationController?.pushViewController(vc, animated: false)
ABOUT ME
伊原 萌夏
スクール担当 兼 iOS(時々Web)エンジニア。 2019年7月に大学を一年半で辞め、大学とは別で勉強していたプログラムの世界で生きていくことを決意。翌月8月に入社。 主にSwiftのスクールを担当。
株式会社Playgroundのサービス
  • 無料・簡単・片手でホームページを作成できる自社サービス Rakwi
  • Web制作とアプリ開発を学べるオンラインプログラミング講座 Upstairs
  • 開発,DX推進支援サービス スタートアッププラン

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA