2016-06-19 5 views
2

Ich möchte alle Funktionalität meiner Tic Tac Toe App für 2 Sekunden einfrieren/pausieren, gerade nachdem es anzeigt, "Player 1 ist der Gewinner", in einem UIImageView. Momentan wird die Nachricht nur für einen Bruchteil einer Sekunde angezeigt, so dass es unmöglich ist, sie zu sehen.Wie man eine schnelle Anwendung in Xcode7 einfriert

ich versucht habe, mit der Funktion:

func delay(delay:Double, closure:()->()) { 
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW,Int64(delay * Double(NSEC_PER_SEC))),dispatch_get_main_queue(), closure) 

aber dies scheint nicht meine Anwendung zu pausieren, es verzögert nur den Code, der folgt. Dies ist ein Problem, da, sobald die Anwendung pausiert, der Benutzer immer noch Spielsteine ​​auf dem Spielbrett platzieren kann.

Vielen Dank im Voraus

+0

Wie werden die Anzeige die Meldung? –

+0

Verwenden eines UIImageView – Iso1234

+1

Sie möchten Ihre App nicht einfrieren. Sie möchten das Bild nur für einige Sekunden anzeigen. –

Antwort

2

der Benutzer die Interaktion mit dem Spielbrett zu verhindern, während Sie den Gewinner Zeichen angezeigt werden, stellen Sie die userInteractionEnabled Eigenschaft Ihrer UI-Elemente zu false. Verwenden Sie dann delay, um sie in 2 Sekunden auf true zurückzusetzen.

Etwas wie folgt aus:

imageView.image = UIImage(named: "Player1Wins") 
board.userInteractionEnabled = false 
delay(2) { 
    imageView.image = nil 
    board.userInteractionEnabled = true 
} 
Verwandte Themen