Ich habe versucht, dies zu suchen, kann aber keine perfekte Lösung finden. Meine App verfügt über benutzerdefinierte animierende Ansichten und beide Seite Schubladen.Ich habe auch benutzerdefinierte navigationController, die gleitenden oberen Leiste hat.Von appDelegate setze ich zuerst Controller als rootViewController und dann ViewController (d. H. MainViewController mit Animationen). dann versuchen, den zweiten Controller zu drücken. Vom zweiten Controller aus kann ich entweder zum dritten Controller oder zum rootViewController auf die Schaltfläche klicken. Und App stürzt ab, wenn ich nach dem Zurückgehen von SecondController mit popToViewController zum zweiten ViewController gehen wollte.App Absturz auf PushViewController nach PopToViewController
Ich gründe RootViewController bei AppDelegate als:
let profileViewController = mainStoryboard.instantiateViewController(withIdentifier: "LoadingDataView") as! LoadingDataView
self.navigationController = SDNavigationController(rootViewController: profileViewController);
self.navigationController.navigationBar.isHidden=true;
self.window!.rootViewController = self.navigationController
self.window!.makeKeyAndVisible()
Pushing Viewcontroller (mainController) als:
if(app.navigationController.viewControllers.count < 2){
let profileViewController=mainStoryboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
app.navigationController?.pushViewController(profileViewController, animated: true);
}else{
let profileViewController=mainStoryboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
app.navigationController?.pushViewController(profileViewController, animated: false);
let emptyView = UIViewController();
app.navigationController?.pushViewController(emptyView, animated: false);
app.navigationController.popViewController(animated: true);
}
Dann zweiten Viewcontroller als Schub:
let tutorialView=myStory.instantiateViewController(withIdentifier: "BookmarksDetails") as! BookmarksDetails;
self.navigationController!.pushViewController(tutorialView, animated: true);
davor zurück zweiter viewController als:
App stürzt ab, wenn ich von ViewController (MainController) zu SecondViewController gehen wollte.
Die letzte Zeile in Ihrem "Pushing viewController (mainController)" macht keinen Sinn. 'app.navigationController' ist beim Drücken, aber nicht im Pop ('? ') eingepackt. Wenn es tatsächlich optional ist, sollte dies nicht kompiliert werden. In der letzten Zeile ist Popping das Gegenteil von Pushing, warum schiebst du eine leere Ansicht ohne Animation und platzierst den Stack sofort mit Animation. – Sti
Ich muss einen leeren ViewController für die gleichzeitige Animation von zwei ViewControllern erstellen. –