iPhone uygulamanızın bir iPad üzerinde 2x/1x çalıştırdığını tespit etmenin bir yolu var mı?iPhone uygulaması için iPad 2x düğmesini algılar
Uygulamam için inç başına düşen puanlardaki farkı tespit edebilmem gerekir.
iPhone uygulamanızın bir iPad üzerinde 2x/1x çalıştırdığını tespit etmenin bir yolu var mı?iPhone uygulaması için iPad 2x düğmesini algılar
Uygulamam için inç başına düşen puanlardaki farkı tespit edebilmem gerekir.
Sen kaydederek değişikliği algılayabilir İşte
[[UIScreen mainScreen] scale]
kullanışlı fonksiyon bulunuyor bildirim için _UIClassicApplicationWillChangeZoomNotificationName
ve daha sonra cevabını değiştirmek için @magma tarafından özetlenen yöntemi kullanarak daha fazla veya daha az kullanın. _UIClassicApplicationWillChangeZoomNotificationName
, ölçeği değiştirmek için "2x"/"1x" butonu kullanıldığında size söyleyecektir. Herhangi Bildirim için
Kayıt:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeZoom:) name:nil object:nil];
Sonra göre değerler kontrol edin: Eğer _UIClassicApplicationWillChangeZoomNotificationName
kayıt olamaz yana
Kontrol scale
özelliği:
+(BOOL) screenIs2xResolution {
return 2.0 == [MyDeviceClass mainScreenScale];
}
+(CGFloat) mainScreenScale {
CGFloat scale = 1.0;
UIScreen* screen = [UIScreen mainScreen];
if ([UIScreen instancesRespondToSelector:@selector(scale)]) {
scale = [screen scale];
}
return scale;
}
Kredi:: da http://www.markj.net/iphone-4-2x-graphics-scale-ipad/
bakınız: http://struct.ca/2010/high-res-graphics-in-cocos2d/
bu değişmez. – madmik3
@ madmik3 bunu yapar. Birkaç geliştirici, iPad uygulamasında 2x hızında çalışan iPhone uygulamalarında yüksek çözünürlüklü grafikleri destekler. – magma
Bu kodu uygulaüme ekledim ve test ettim. Her zaman 1.0 ölçeğini rapor eder. Yani benim durumumda çalışmıyor. – madmik3
, bir iç sabit gibi görünüyor, ne yaptığını olan
- (void)changeZoom:(NSNotification*)notification
{
if ([[notification name] isEqualToString:@"_UIClassicApplicationWillChangeZoomNotificationName"])
{
NSLog(@"Zoom changed to %@", [[[notification userInfo] objectForKey:@"_UIClassicIsZoomedUserInfoKeyName"] boolValue] == 0 ? @"1x" : @"2x");
}
}
[Uyumluluk modunda iPad'de çalışan iPhone uygulamasını belirleme] olası bir kopyası (http://stackoverflow.com/questions/3242620/detecting-iphone-app-running-on-ipad-in-comp Atlanabilirlik modu) –
@Josh, ilgili, ancak bir çoğaltma değil. IPhone uygulamanızın bir iPad'de çalıştığını ve 1x veya 2x hızında çalışıp çalışmadığını saptamak, iki farklı şeydir. İyi bir bağlantı olsa da; Kesinlikle buna göre hareket etmeden önce 2x ölçeğin bir iPhone4 retina ekranı veya iPad 2x moduyla ilişkili olup olmadığını anlamak istersiniz. – magma