2016-09-16 5 views
2

Ich habe dieses Tutorial verfolgt: http://www.totem.training/swift-ios-tips-tricks-tutorials-blog/ux-chops-dim-the-lightsSwift: Ärger von Loswerden „dim“

Jedoch habe ich es leicht bearbeitet haben, so dass ich verschiedene Segues angeben können und es auch programmatisch tun.

Das Problem tritt auf, wenn ich die Popup-Ansicht schließe. Wenn ich es schließen, bleibt der Hintergrund dunkel dort:

enter image description here

Was ich zu den Projektdateien hat:

Dateien: (https://github.com/TotemTraining/DimBackground.git)

1) löschte die Segue, der dort war

2) Erstellt eine IBAction für die Schaltfläche mit dem Namen clickedButton

3) Erstellt neue Segue von der ersten VC zweiten Benannt die Segue testSegue

4) Hinzugefügt diesen Code für den IBAction:

@IBAction func clickedButton(sender: AnyObject) { 
    performSegueWithIdentifier("testSegue", sender: self) 
} 

5) geändert, um die prepareForSegue zu:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "testSegue") { 
    dim(.In, alpha: dimLevel, speed: dimSpeed) 
    } 
} 

Nun, wenn ich es ausführe, zeigt es das Popup den gewünschten Weg, aber wenn ich auf das Schließen es re bewegte es, aber lässt das "Dim" dort. Kann jemand sehen warum?

Die Ansicht wird mehrere Folgen davon haben, und ich möchte nur ein paar von ihnen diesen "Dim" -Effekt haben.

Edit:

Wenn ich die nehmen, wenn (segue.identifier == "testSegue") so seine jetzt:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    //if (segue.identifier == "testSegue") { 
    dim(.In, alpha: dimLevel, speed: dimSpeed) 
    //} 
} 

es wie gewünscht funktioniert, ist es so etwas zu tun damit?

Antwort

2

Es klingt wie Ihre Ruhe wird nicht aufgerufen, um abzudunkeln. Hast du einen Haltepunkt gesetzt, um sicherzugehen? Wenn Sie Xcode 8 verwenden, gab es außerdem einen seltsamen Bug mit den Namen der Abwicklungssegmente. Am Ende von ihnen wurde automatisch "WithSegue:" angehängt, also überprüfe, ob es in Interface Builder richtig beschriftet ist.

Verwandte Themen