Ich versuche, einen View-Controller auf einen Navigationscontroller zu schieben, ohne ein Storyboard zu entwerfen. Ist das möglich, da ich neu bei Swift bin? Ich habe meine Navigation-Controller in appdelegate.swift Datei:Fehler beim Versuch, programmgesteuert eine Controller-Datei zu einem Navigationscontroller hinzuzufügen, ohne Storyboard zu erstellen
let viewController: UIViewController = ViewController(nibName: nil, bundle: nil)
viewController.view.backgroundColor = UIColor.white
let navController: UINavigationController = UINavigationController(rootViewController: viewController)
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.backgroundColor = UIColor.darkGray
self.window?.rootViewController = navController
self.window!.makeKeyAndVisible()
Und jetzt in ViewController.swift Datei, wenn der Benutzer die Schaltfläche unten klickt ist die Datei, wenn ich versuche, die signInController hinzuzufügen:
func SignIn(sender: UIButton!) {
print("Im, here")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "signInController") as! signInController
self.navigationController?.pushViewController(controller, animated: true)
}
Unten ist mein Fehler:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard (<UIStoryboard: 0x608000269600>) doesn't contain a view controller with identifier 'signInController''
Frage: Muss ich ein Storyboard erstellen und zur Inspektor-ID gehen, um die Storyboard-ID hinzuzufügen? Aber was, wenn ich das erreichen wollte, ohne eine Storyboard-Datei zu erstellen?
@Maddy vielen Dank. Empfiehlst du, Storyboards zu verwenden oder nicht, um ein Projekt zu entwickeln? – user3497437
Das liegt an dir. Ich habe sie nie in 8 Jahren iOS-Entwicklung verwendet. Ich bevorzuge Code, aber die meisten Leute nicht. – rmaddy
Ok. Ist es nur Vorliebe? Ich bin neu bei IOS, möchte aber ohne Storyboard lernen? Wenn ich kein Storyboard verwende, muss ich XIB/NIBs verwenden – user3497437