Elma dokümantasyon (şu anda) devletler ...
UIVisualEffectView sınıfını kullanırken, 1'den küçük alfa değerlerinden kaçının.
ve
Görsel efekt görünümünde veya herhangi bir denetiminde alfa'yı 1'den küçük olarak ayarlamak, birçok efektin yanlış görünmesine veya hiç görünmemesine neden olur.
Burada bazı önemli bağlamların eksik olduğuna inanıyorum ...
Kalıcı bir görünüm için amacın 1'den küçük alfa değerlerinden kaçınmak olduğunu öneririm. Benim naçizane görüşüme göre bu, bir görünümün canlandırılması için geçerli değildir.
Demek istediğim - 1'den küçük alfa değerlerinin animasyonlar için kabul edilebilir olduğunu öneririm.
Terminal mesajı şunları belirtir:
UIVisualEffectView'den opaklığını canlandırması isteniyor. Bu, opaklık 1'e dönene kadar efektin bozuk görünmesine neden olur.
Bunu dikkatlice okursanız, etki bozulmuş gibi görünecektir . Bu varlıkla ilgili noktalarım:
- görünen kopuş, yalnızca kalıcı bir görüş için gerçekten önemlidir - değişmeyen;
UIVisualEffect1'den düşük alfa değerine sahip kalıcı / değişmeyen görünüm, Apple tarafından tasarlandığı / tasarlandığı şekilde sunulmayacaktır; ve
- terminaldeki mesaj bir hata değil, sadece bir uyarıdır.
Sorunumu çözmeme yardımcı olan @ jrturton'un yanıtını genişletmek için ekleyeceğim ...
Karartmak UIVisualEffectiçin aşağıdaki (Amaç-C) kodunu kullanın:
UIView.animateWithDuration(1.0, animations: {
self.blurEffectView.effect = UIBlurEffect(nil)
self.blurEffectView.alpha = 0
}, completion: { (finished: Bool) -> Void in
self.blurEffectView.removeFromSuperview()
} )
Her iki yöntemi de başarıyla kullanıyorum: effectözelliği olarak nilayarlama ve alphaözelliği olarak ayarlama 0.
Bu ayarı Not effectiçin nilayarlanırken, animasyon sonunda (daha iyi bir açıklama istemek için) "güzel flaş" yaratır alphaiçin 0sorunsuz bir geçiş oluşturur.
(Herhangi bir sözdizimi hatası varsa bana bildirin ... obj-c yazıyorum.)