Uygulamam, Kontrol Merkezi gibi arka planı bulanıklaştırmak için UIVisualEffectView
kullanmaktadır. Ancak iOS 8'i çalıştıran iPad 2'nin (ve Retina iPad'in) bu etkiyi gösterecek kadar güçlü olmadığını keşfettim, böylece gri bir renge dönüştü. Uygulamanın çalıştığı cihazın bulanık efekti gösterecek kadar güçlü olup olmadığını algılayabilmeyi isterim ve eğer uygulama yapmazsam, arka plan rengini değiştirmekten çok daha iyi bir görünüme dönüştürürüm. o gri renk. Ancak, cihazın iPad 2 veya iPad 3. nesil olup olmadığını kontrol etmek istemiyorum (4'ü de etkiler mi?). UIBlurEffect
'un beklendiği gibi görünüp görünmeyeceğini saptamanın daha iyi bir yolu var mı?Aygıtın UIVisualEffectView öğesini düzgün görüntüleyip görüntülemediğini algıla?
cevap
Kontrol Bu WWDC oturum: http://asciiwwdc.com/2014/sessions/419
Yani, biz bulanıklaştırmayız hangi cihazları üzerinde tekrar vurgulamak ve sadece iPad 2 ve iPad 3. nesil üzerinde gölgelendirme yapmak, biz sadece ton uygular ve bulanıklık adımlarını atlıyoruz.
[...] iPad 4 nesil üzerinde
, iPad Air, iPad Mini, retina ekran, iPhone ve biz bulanıklığı ve gölgelendirme hem do iPod touch ile iPad Mini.
Sana makine adına kontrol başvurmak zorunda tahmin:
#import <sys/utsname.h>
...
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
...
Bu örnek eksik. Renk tonunun gri olmayan olarak nasıl ayarlanacağına dair bir örnek görmek isterim. – bluefloyd8
Elma içten çeklerin bu tür [UIDevice _graphicsQuality]
kullanır. Aşağıdaki yazıda, yalnızca genel API kullanılarak aynı işlemi yapan bir yöntem önermekteyim: https://stackoverflow.com/a/27879304/1914276
FWIW, bu kategoride listelenmeyen UIVisualEffectView'ı desteklemeyen donanım aygıtları var: iPhone4,1, iPhone5,1 – troppoli
Bu konuda herhangi bir şans var mı? Burada da aynı problem. – soleil