2011-03-09 18 views

cevap

18

-bitmapImageRepEtc: biri ve yöntem-olup pikselleştirme ölçekli daha Mac OS daha uygulanabilir daha kolay çözüm-anlamlı olarak daha böylece Kaplama Animasyon destek katmanını kullanmak için kaplama görünümünüzü ayarlamak için, o katmana bir Çekirdek Görüntü bulanıklığı filtresi verin. Mac OS'de, Dock menülerinden menü çubuğunun kendisine kadar kullanılan bir tekniktir. Arayüz Oluşturucu kurmak ne trivially kolaylaştırır, ancak böyle yanı kodda yapabilirsiniz: Sen guthub üzerine RMBlurredView kontrol etmelidir

CALayer *backgroundLayer = [CALayer layer]; 
[backgroundView setLayer:backgroundLayer]; 
[backgroundView setWantsLayer:YES]; 

CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"]; 
[blurFilter setDefaults]; 

[backgroundView layer].backgroundFilters = [NSArray arrayWithObject:blurFilter]; 
+3

Görünüşe göre bu görünüm yalnızca görünümün altındaki diğer görünümleri tamamen kapladığında çalışır. Yalnızca onları kısmen kapsadığında, görünümün altındaki alanın tamamı bulanık olur. – adib

+0

Bunu ölümden geri döndürdüğüm için özür dilerim - hangi çerçeve (ler) 'setLayer' bağımlı? – capikaw

+3

Temel Animasyon: QuartzCore.framework –

-3

Görünümün Alpha niteliğini değiştirmeyi denediniz mi (saydamlık için)? Ayrıca burada bir görünümü bulanık bir bağlantı: bu bulanık (Çekirdek Görüntü olduğunu Blur Effect for UIView

+1

Doğrusu bulanık daha bu pikselli çağırır. – Konrad77

2

temel teknik NSView ait ‑bitmapImageRepForCachingDisplayInRect: yöntemiyle gibi bir şey kullanarak, görünümünün resmi yapıştırmak olurdu, işleme görüntü yapmak senin Buradaki arkadaşınız) ve sonra bulanık görüntüyü içeren bir NSImageView ile görüşünüzü paylaşın.

Bu tabii fakery, ama o şairlik hakkında :-) budur

İlgili konular