Dokumentacja Apple (obecnie) stwierdza ...
Korzystając z klasy UIVisualEffectView, unikaj wartości alfa, które są mniejsze niż 1.
i
Ustawienie alfa na mniej niż 1 w widoku efektu wizualnego lub w którymkolwiek z jego podglądów nadzoru powoduje, że wiele efektów wygląda nieprawidłowo lub w ogóle się nie pojawia.
Uważam, że brakuje tu jakiegoś ważnego kontekstu ...
Sugerowałbym, aby celem było unikanie wartości alfa, które są mniejsze niż 1 dla trwałego widoku. Moim skromnym zdaniem nie dotyczy to animacji widoku.
Moja uwaga - sugerowałbym, że wartości alfa mniejsze niż 1 są dopuszczalne dla animacji.
Komunikat terminala stwierdza:
UIVisualEffectView jest proszony o animowanie jego krycia. Spowoduje to, że efekt będzie wyglądał na uszkodzony, dopóki krycie nie powróci do 1.
Czytając to uważnie, efekt wydaje się zepsuty. Moje uwagi na ten temat:
- pozorna przerwa ma znaczenie tylko w przypadku poglądu, który jest trwały - nie zmienia się;
- trwały / niezmienny
UIVisualEffect
widok z wartością alfa mniejszą niż 1 nie będzie się prezentował zgodnie z zamierzeniami / projektami Apple; i
- komunikat w terminalu nie jest błędem, tylko ostrzeżeniem.
Aby rozszerzyć powyższą odpowiedź @ jrturton, która pomogła mi rozwiązać problem, dodam ...
Aby zaniknąć UIVisualEffect
użyj następującego kodu (celu-C):
UIView.animateWithDuration(1.0, animations: {
self.blurEffectView.effect = UIBlurEffect(nil)
self.blurEffectView.alpha = 0
}, completion: { (finished: Bool) -> Void in
self.blurEffectView.removeFromSuperview()
} )
Z powodzeniem używam obu metod: ustawiając effect
właściwość na nil
i ustawiając alpha
właściwość na 0
.
Należy pamiętać, że ustawienie effect
się nil
tworzy „piękny błysk” (z braku lepszego opisu) na końcu animacji, natomiast ustawienie alpha
na 0
tworzy płynne przejście.
(Daj mi znać o wszelkich błędach składniowych ... Piszę w obj-c.)