2016-04-21 16 views
0

Ich habe ein SpriteKit-Spiel, bei dem ich nur einen Teil des Bildschirms verwischen möchte (das Brett, auf dem das Spiel gespielt wird). Aber gleichzeitig möchte ich interagieren mit den anderen Elementen (wie UIButtons) auf dem Bildschirm. Im Grunde suche ich nach etwas wie einem Formularblatt, aber eines, das die darunter liegenden Informationen verwischt und die Interaktion mit dem Hauptansicht-Controller ermöglicht.Wie kann man UIVisualEffectView unscharf machen, ohne über den gesamten Bildschirm/aktuellen Kontext zu gehen?

Also hier ist mein Problem. Ich habe versucht, zu:

  1. die UIVisualEffectView auf meinem Haupt-View-Controller setzen,
  2. zeigen eine andere Ansicht-Controller modal mit einer der Standard-Präsentationsstile und haben die UIVisualEffectView da drin, oder
  3. vorhanden eine andere Ansicht Controller modal über Vollbild/aktuellen Kontext und haben die UIVisualEffectView drin.

Keine dieser Optionen funktioniert für mich.

  • Die Optionen 1 und 2 verschwimmen nicht. Sie produzieren stattdessen eine solide Black Box. (Obwohl es aus irgendeinem Grund verwischt, wenn ich eine Benachrichtigung erhalte oder wenn ich die Benachrichtigungszentrale herunter ziehe oder Control Center hochziehe. So habe ich das gleiche Problem wie this user.)
  • Option 3 verwischt, aber nicht zulassen Interaktion mit dem Hauptansicht-Controller.

Weiß jemand, was ich sonst noch versuchen könnte? Oder verwende ich etwas nicht richtig?

Antwort

1

Leider funktioniert UIVisualEffectView einfach nicht gut mit SpriteKit, auch wenn SKView verwendet wird. Ich habe alles von A bis zPositions ausprobiert.

Ich beschloss, meine UIButtons in der neuen Ansicht Controller neu zu erstellen und es modal OFS präsentieren. Auf diese Weise habe ich Zugriff auf die schöne UIVisualEffectView Unschärfe (SKEffectNode Unschärfe ist überhaupt nicht IMO) und auf meine Tasten. Ich hoffe, dass Apple in zukünftigen Versionen von iOS und Swift an der Synergie ihrer Frameworks arbeiten wird. Andererseits bin ich nicht gerade ein Experte, wenn es um App-Entwicklung geht, also wenn ich noch etwas anderes machen könnte, würde ich es gerne hören :-)

Verwandte Themen