Ich habe derzeit die folgende Funktion innerhalb meiner Hauptansicht Controller (View Controller A).Swift Present View Controller von einer anderen Ansicht Controller
func myAction() {
let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let viewControllerC : UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "ViewControllerC") as UIViewController
self.present(viewControllerC, animated: false, completion: nil)
}
Wenn View Controller A
gerade angezeigt wird und myAction
wird viewControllerC
funktioniert gut und Displays genannt. Diese Funktion myAction
kann grundsätzlich jederzeit aufgerufen werden. Manchmal sogar wenn View Controller A
nicht der aktuelle View-Controller auf dem Bildschirm ist. Manchmal, wenn View Controller B
angezeigt wird, wird diese Funktion immer noch aufgerufen. Es wird gut genannt. Aber es lädt viewControllerC
in diesem Fall nicht.
Ich habe auch die folgenden Gedanken versucht, die von was auch immer der aktive Ansicht Controller angezeigt wird. Aber das hat auch nicht funktioniert.
self.view.window?.rootViewController?.present(viewControllerC, animated: false, completion: nil)
Wie kann ich es bekommen viewControllerC
anzuzeigen, wenn myAction
egal genannt wird, welche View-Controller gerade angezeigt wird?
Viele Ideen, die hier über die Top-View-Controller bekommen (http://stackoverflow.com/questions/26667009/get-top-most-uiviewcontroller) – danh
@danh Perfekt! Ich habe die akzeptierte Antwort verwendet und das scheint zu funktionieren! Vielen Dank. –