2015-06-26 13 views
7

Navigasyon yapısından dolayı, normal UINavigationBars'ı yarı saydamlıkla kullanamayacağımı belirten özel bir uygulamam var. Bu yüzden iOS8'in UIVisualEffectView'ı kullanmayı denedim ve Bulanıklık.iOS8 ile "Görüntülü Yansıtmayla UIVisualEffectView" Görüntülü titreşimi en aza indirme

Bu çözüm çoğunlukla işe yarıyor, ancak bu bulanıklık görünümü altındaki UITableView çevrildiğinde kayda değer bir titreme etkisi var. Bir görüntünün veya renkli rektin kenarları bulanıklık görüntüsünün altından geçerken, meydana gelen önemli miktarda bir titreme meydana gelir.

Bunu deneyimleyen var mı? Bu sorunu nasıl çözecek bilen var mı?

Uygulamam basittir, bir UIVisualEffectView görünümünü denetleyicimin üzerine sürükledim ve üst, sol ve sağ ekran sınırlarına getirdim ve 64 bir yükseklik kısıtlaması ekledim. Bunun altında bazı görüntüler ve metinler içeren bir UITableView var.

+0

Bulanıklaştırma, hesaplama yoğun bir işlemdir. Muhtemelen bu tür bir şey için değil. Titreşme, hesaplama yapılırken muhtemelen gecikmeden kaynaklanır. – matt

+0

Girdiğin için teşekkürler, Matt - bu yüzden UIVisualEffectView'in sadece durağan (hareketsiz) bulanıklaşmayı düşündüğünü düşünüyorsun? – Adama

+0

Bir _lot_ hareketi olmadan, derim. – matt

cevap

1

"Ben görünümü altında olmayan ne bulanıklığı hesaplamak için dikkate alınmama olduğu varsayılmaktadır. Muhtemelen tahmin ediliyor (vs, sarma, kopyalayan, yansıtma görüntüyü doldurma tarafından ... sen yapacağını olarak) herhangi bir konvolüsyon üzerinde sınır etkilerini en aza indirmek. Ancak bu birçok durumda istenmeyen bir görsel sıçrama yaratır.

bu objeyi en aza indirmek istiyorsanız, sadece görünümü daha UIVisualEffectView büyük yapmak. birkaç piksel yeterli olacaktır, Bulanıklık çekirdeği zaten bu kadar büyük değil ve görünümünüzü 'u sınırlamak için kırpın. ”

Referans: Bu benim için çalıştı https://medium.com/@imho_ios/avoid-artifacts-on-uiblureffect-edges-c30e737c21fb

, en azından Navigasyon Bar'da titreyen dibe ortadan kaldırdı. Ancak, üstte çalışmadı. Benim durumumda (tableView -) görünmesine (belki UIWindow?) Neden olduğuna inanıyorum.

GÜNCELLEME: Hata, iOS 9.0 ve sonraki sürümlerinde giderilmiştir.

+0

Bu, iOS 8'de sorunu düzeltmenin tek yoludur. En azından en aza indirgemek için. –

+0

Hiç kimse bunu ne kadar tutacağını denedi? Ya da çekirdeğin ne kadar büyük olduğunu biliyor musun? –

0

Hangi alfa'nın 0 olduğuna ve bunun alt görünümü olarak blurview özelliğini ekledim. Bu yüzden titreyen problemi en aza indirebilirim, ayrıca animasyonla köşeleri gizleyebilir/gösterebilir veya yuvarlayabilirim.

İlgili konular