Ich baue eine iOS App in swift und nach dem Start der App möchte ich zuerst viewController2 zeigen, welches über viewController1 präsentiert wird, welches in einen UINavigationController eingebettet ist. Der entscheidende Teil ist, dass ViewController2 nicht Teil des Navigations-Stacks ist und präsentiert wird, anstatt verschoben zu werden.Präsentiere einen UIViewController von einem UINavigationController über den App Delegaten
Dies ist mein aktueller Versuch, der nicht funktioniert und nur ViewController1 beim Start zeigt.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController1 = mainStoryboard.instantiateViewController(withIdentifier: "VC1") as! ViewController1
let viewController2 = mainStoryboard.instantiateViewController(withIdentifier: "VC2") as! ViewController2
let navController = UINavigationController(rootViewController: viewController1)
viewController1.present(viewController2, animated: false)
self.window?.rootViewController = navController
self.window?.makeKeyAndVisible()
return true
}
Ich habe diese Struktur an Ort und Stelle, weil ich es einem Benutzer ermöglichen von links nach rechts und von rechts nach Swipe können links nach viewController2 und viewController3 in ähnlicher Weise zu bekommen, um zu Snapchat. Die Präsentation dieser Controller schien die beste Idee zu sein, da sie keine Navigationsleisten haben. Wenn Sie fertig sind, würden Sie zu ViewController1 zurückkehren wollen - vielleicht muss ich die Struktur meiner App ändern, würde aber im Idealfall nicht möchten, da ich diesen mvp einreichen möchte nächste Woche.
Hilfe sehr geschätzt von Ihnen iOS und schnelle Assistenten.
// Ich denke, ich muss die Struktur der App ändern, um ViewController2 auf dem Navigationsstapel einzuschließen :(da die Verwendung der angenommenen Antwort bewirkt, dass viewController1 kurz zu sehen ist, bevor ViewController2 präsentiert wird, was logisch ist - auf lange Sicht wird dies sein besser trotz der kurzfristigen Schmerz
Für solche Fragen empfehle ich immer zu sehen, [diese Frage] (https:..//stackoverflow.com/questions/19962276/best-practices-for-storyboard-login-screen-handling-clearing-of-data-upon- logou) und seine vielen Antworten – Honey