質問失礼します。
タブバーとナビゲーションバーを両方使用したいと思い下記の様に記載したのですが、
最後に設定したrootViewControllerのみしか反映されません。
どちらかしかmakeKeyAndVisibleは出来ないのでしょうか。
両方を使用する方法がありましたら、どなたかご教授いただけますと嬉しいです。
よろしくお願い致します。
SWift
1import UIKit 2 3@UIApplicationMain 4class AppDelegate: UIResponder, UIApplicationDelegate { 5 6 ///ウィンドウの生成 7 var window: UIWindow? 8 9 ///起動時の処理 10 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 11 12 ///ナビゲーションコントローラーの生成 13 var navigationController: UINavigationController? 14 15 // ページを格納する配列 16 var viewControllers: [UIViewController] = [] 17 18 // 1ページ目になるViewController 19 let firstVC: UIViewController = firstViewController() 20 firstVC.tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 1) 21 viewControllers.append(firstVC) 22 23 // 2ページ目になるViewController 24 let secondVC: UIViewController = secondViewController() 25 secondVC.tabBarItem = UITabBarItem(tabBarSystemItem: .favorites, tag: 2) 26 viewControllers.append(secondVC) 27 28 // 3ページ目になるViewController 29 let thirdVC: UIViewController = thirdViewController() 30 thirdVC.tabBarItem = UITabBarItem(tabBarSystemItem: .contacts, tag: 3) 31 viewControllers.append(thirdVC) 32 33 // ViewControllerをセット 34 let tabBarController = UITabBarController() 35 tabBarController.setViewControllers(viewControllers, animated: false) 36 37 // rootViewControllerをUITabBarControllerにする 38 window?.rootViewController = tabBarController 39 window?.makeKeyAndVisible() 40 41 42 //同端末でログイン済みの場合 43 if UserDefaults.standard.bool(forKey: "login") == true { 44 //一番最初に表示するビューコントローラーを設定する 45 let first: UIViewController = LoginViewController() 46 navigationController = UINavigationController(rootViewController: first) 47 self.window = UIWindow(frame: UIScreen.main.bounds) 48 self.window?.rootViewController = navigationController 49 self.window?.makeKeyAndVisible() 50 } else { 51 //一番最初に表示するビューコントローラーを設定する 52 let first: UIViewController = secondViewController() 53 navigationController = UINavigationController(rootViewController: first) 54 self.window = UIWindow(frame: UIScreen.main.bounds) 55 self.window?.rootViewController = navigationController 56 self.window?.makeKeyAndVisible() 57 } 58 59 return true 60 } 61 62}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/13 13:35