From 01ed9d62a66f647755fd7968e354845f3efd96a8 Mon Sep 17 00:00:00 2001 From: Nicholas Tay Date: Sat, 19 Mar 2022 13:28:04 +1100 Subject: Storyboard is GONE Note - I had to fo into the Target settings -> Info -> Custom iOS Target Properties -> adjust the Application Scene Manifest there. Resources: - https://ioscoachfrank.com/remove-main-storyboard.html - https://stackoverflow.com/questions/25167458/changing-navigation-title-programmatically --- foray.xcodeproj/project.pbxproj | 35 +++------------------- foray/AppDelegate.swift | 25 +++++++--------- foray/Base.lproj/LaunchScreen.storyboard | 25 ---------------- foray/Base.lproj/Main.storyboard | 51 -------------------------------- foray/ForayDetailViewController.swift | 1 + foray/ForayTableViewController.swift | 1 + foray/Info.plist | 11 +------ 7 files changed, 17 insertions(+), 132 deletions(-) delete mode 100644 foray/Base.lproj/LaunchScreen.storyboard delete mode 100644 foray/Base.lproj/Main.storyboard diff --git a/foray.xcodeproj/project.pbxproj b/foray.xcodeproj/project.pbxproj index 3423ae5..9593082 100644 --- a/foray.xcodeproj/project.pbxproj +++ b/foray.xcodeproj/project.pbxproj @@ -9,9 +9,7 @@ /* Begin PBXBuildFile section */ C04B45A427DEF117001451A3 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04B45A327DEF117001451A3 /* AppDelegate.swift */; }; C04B45A627DEF117001451A3 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04B45A527DEF117001451A3 /* SceneDelegate.swift */; }; - C04B45AB27DEF117001451A3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C04B45A927DEF117001451A3 /* Main.storyboard */; }; C04B45AD27DEF118001451A3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C04B45AC27DEF118001451A3 /* Assets.xcassets */; }; - C04B45B027DEF118001451A3 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C04B45AE27DEF118001451A3 /* LaunchScreen.storyboard */; }; C04B45B827DEF2ED001451A3 /* ForayTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04B45B727DEF2ED001451A3 /* ForayTableViewController.swift */; }; C04EDE4227E428AB00D83005 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = C04EDE4127E428AB00D83005 /* SnapKit */; }; C04EDE4427E4298D00D83005 /* ForayNewTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04EDE4327E4298D00D83005 /* ForayNewTableViewCell.swift */; }; @@ -23,9 +21,7 @@ C04B45A027DEF117001451A3 /* foray.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = foray.app; sourceTree = BUILT_PRODUCTS_DIR; }; C04B45A327DEF117001451A3 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; C04B45A527DEF117001451A3 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - C04B45AA27DEF117001451A3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; C04B45AC27DEF118001451A3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - C04B45AF27DEF118001451A3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; C04B45B127DEF118001451A3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; C04B45B727DEF2ED001451A3 /* ForayTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForayTableViewController.swift; sourceTree = ""; }; C04EDE4327E4298D00D83005 /* ForayNewTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForayNewTableViewCell.swift; sourceTree = ""; }; @@ -66,13 +62,11 @@ children = ( C04B45A327DEF117001451A3 /* AppDelegate.swift */, C04B45A527DEF117001451A3 /* SceneDelegate.swift */, - C04B45A927DEF117001451A3 /* Main.storyboard */, C04EDE4527E45CCA00D83005 /* ForayNewDetailView.swift */, C0FEAF5E27E14C52000A7648 /* ForayDetailViewController.swift */, C04B45B727DEF2ED001451A3 /* ForayTableViewController.swift */, C04EDE4327E4298D00D83005 /* ForayNewTableViewCell.swift */, C04B45AC27DEF118001451A3 /* Assets.xcassets */, - C04B45AE27DEF118001451A3 /* LaunchScreen.storyboard */, C04B45B127DEF118001451A3 /* Info.plist */, ); path = foray; @@ -142,9 +136,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - C04B45B027DEF118001451A3 /* LaunchScreen.storyboard in Resources */, C04B45AD27DEF118001451A3 /* Assets.xcassets in Resources */, - C04B45AB27DEF117001451A3 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -166,25 +158,6 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXVariantGroup section */ - C04B45A927DEF117001451A3 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - C04B45AA27DEF117001451A3 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - C04B45AE27DEF118001451A3 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - C04B45AF27DEF118001451A3 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ C04B45B227DEF118001451A3 /* Debug */ = { isa = XCBuildConfiguration; @@ -314,8 +287,8 @@ INFOPLIST_FILE = foray/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Foray; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; - INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UILaunchStoryboardName = ""; + INFOPLIST_KEY_UIMainStoryboardFile = ""; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( @@ -343,8 +316,8 @@ INFOPLIST_FILE = foray/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Foray; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; - INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UILaunchStoryboardName = ""; + INFOPLIST_KEY_UIMainStoryboardFile = ""; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/foray/AppDelegate.swift b/foray/AppDelegate.swift index 6026d52..fc5d2f9 100644 --- a/foray/AppDelegate.swift +++ b/foray/AppDelegate.swift @@ -10,27 +10,22 @@ import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { - + var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. + let nav = UINavigationController() + let mainView = ForayTableViewController() + nav.viewControllers = [mainView] + + let window = UIWindow(frame: UIScreen.main.bounds) + window.rootViewController = nav + self.window = window + window.makeKeyAndVisible() + return true } - // MARK: UISceneSession Lifecycle - - func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { - // Called when a new scene session is being created. - // Use this method to select a configuration to create the new scene with. - return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) - } - - func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { - // Called when the user discards a scene session. - // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. - // Use this method to release any resources that were specific to the discarded scenes, as they will not return. - } - } diff --git a/foray/Base.lproj/LaunchScreen.storyboard b/foray/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index 865e932..0000000 --- a/foray/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/foray/Base.lproj/Main.storyboard b/foray/Base.lproj/Main.storyboard deleted file mode 100644 index f80ec0b..0000000 --- a/foray/Base.lproj/Main.storyboard +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/foray/ForayDetailViewController.swift b/foray/ForayDetailViewController.swift index bac2dfd..b329774 100644 --- a/foray/ForayDetailViewController.swift +++ b/foray/ForayDetailViewController.swift @@ -15,6 +15,7 @@ class ForayDetailViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() + self.title = "Details" self.view.backgroundColor = .systemBackground diff --git a/foray/ForayTableViewController.swift b/foray/ForayTableViewController.swift index a16c3bb..b00fca9 100644 --- a/foray/ForayTableViewController.swift +++ b/foray/ForayTableViewController.swift @@ -46,6 +46,7 @@ class ForayTableViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() + self.title = "Foray" tableView.rowHeight = UITableView.automaticDimension diff --git a/foray/Info.plist b/foray/Info.plist index dd3c9af..d790da0 100644 --- a/foray/Info.plist +++ b/foray/Info.plist @@ -9,16 +9,7 @@ UISceneConfigurations UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - $(PRODUCT_MODULE_NAME).SceneDelegate - UISceneStoryboardFile - Main - - + -- cgit