Sto provando a creare una schermata di pausa sul mio gioco. Ho aggiunto un 'PauseScreen' viewController nel mio storyboard con Storyboard ID e ID Restauro impostato come "PauseScreenID" e per passare alla schermata di pausa che ho creato la funzione di "GameScene":Aggiunta di una vista alla gerarchia della finestra
func pauseSceenTransition(){
let viewController = UIStoryboard(name: "Main", bundle:nil).instantiateViewControllerWithIdentifier("PauseScreenID") as UIViewController
let currentViewController = (UIApplication.sharedApplication().delegate as AppDelegate)
currentViewController.window?.rootViewController?.presentViewController(viewController, animated: false, completion: nil)
}
Tuttavia quando il che viene chiamato, ottengo l'errore:
Attenzione: tentativo di presentare < NomeApp .PauseScreen: 0x7fae61fe5ff0> sulla < NomeApp .StartScreenViewController: 0x7fae61f79980> la cui vista non è nella gerarchia delle finestre!
"StartScreenViewController" è il controller di visualizzazione per la schermata iniziale ed è il controller di visualizzazione iniziale. Passa quindi al "GameScene", che è dove deve andare "PauseScreen". Funziona se faccio la vista del regolatore iniziale "GameViewController"/"GameScene" così presumo che ho bisogno di cambiare la seconda linea:
let currentViewController = (UIApplication.sharedApplication().delegate as AppDelegate)
in modo che presenta la "PauseScreen" sul "GameViewController" , non su "StartScreenViewController", ma non sono sicuro di come farlo.
Ciao, sto avendo problemi con questo stesso problema ora, e sono curioso di sapere se le soluzioni sono cambiate nell'ultimo anno e mezzo. Sto cercando di chiamare un 'UIAlertController' all'interno di un nidificato' if' all'interno di un pulsante. Le normali istruzioni "if" all'interno del pulsante mostrano "UIAlertView" bene, ma i risultati "true" di quelle if se lanciano lo stesso errore sopra. – Ethan
@Ethan A volte è necessario creare una finestra per mettere un 'UIAlertController' in: http: // stackoverflow.it/questions/26554894/how-to-present-uialertcontroller-when-not-in-a-view-controller –
Tutto ciò che sai è scritto in modo rapido? – Ethan