Ich möchte von einem View Controller zu einem anderen navigieren. Wie kann ich den folgenden Objective-C-Code in Swift konvertieren?
UIViewController *viewController = [[self storyboard] instantiateViewControllerWithIdentifier:@"Identifier"];
UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.navigationController pushViewController:navi animated:YES];
Antworten:
Erstellen Sie eine schnelle Datei (SecondViewController.swift) für den zweiten View Controller und geben Sie in der entsprechenden Funktion Folgendes ein:
Swift 2+
Swift 4
quelle
import UIKit
class SwiftNavigationController: UINavigationController { init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) // Custom initialization }`` override func viewDidLoad() { super.viewDidLoad() }
unexpectedly found nil while unwrapping an Optional value
in der zweiten Zeile Ihres Codes. Bitte helfen SieNach meiner Erfahrung
navigationController
war es null, also habe ich meinen Code folgendermaßen geändert:Vergessen Sie nicht, ViewController
StoryBoard Id
aufStoryBoard
-> zu setzenidentity inspector
quelle
Wenn Sie nicht möchten, dass die Schaltfläche "Zurück" angezeigt wird (was mein Fall war, weil ich sie nach dem Anmelden eines Benutzers präsentieren wollte), gehen Sie wie folgt vor, um das Stammverzeichnis des Navigationscontrollers festzulegen:
quelle
SWIFT 3.01
quelle
In schnellem 4.0
quelle
In Swift 4.1 und Xcode 10
Hier ist AddFileViewController der zweite View Controller.
Die Storyboard-ID lautet AFVC
Bei Bedarf Gewinde verwenden.
Ex:
Wenn Sie nach einiger Zeit umziehen möchten .
EX:
quelle
Swift 3
quelle
In schneller 3
quelle
quelle
quelle
Swift 4
Sie können den Bildschirm wechseln, indem Sie zuerst den Navigationscontroller drücken. Zunächst müssen Sie den Navigationscontroller mit UIViewController einstellen
quelle
Swift 5
Verwenden Sie Segue, um die Navigation von einem View Controller zu einem anderen View Controller durchzuführen:
Dies funktioniert unter Xcode 10.2.
quelle
In AppDelegate können Sie so schreiben ...
quelle