2012-09-13 2 views
6

Mit der Ankündigung des iPhone 5 und neuer iPods heute, fange ich an, meine App zu optimieren, um den neuen, zusätzlichen Bildschirmplatz zu nutzen. Ich bin schon an dem Punkt angelangt, an dem meine App nicht mehr "letterboxed" ist. Ich weiß, es ist früh, aber weiß jemand, wie ich zwischen den neuen, höheren Geräten und den alten unterscheiden könnte?iOS 6 - Unterscheiden zwischen iPhone 5 und anderen Geräten?

Idealerweise wäre es so etwas wie dieses:

if (device is iPhone 5 or taller iPod touch) { 
    do stuff that is ideal for the taller screen 
} else { 
    do what I've been doing before for the smaller screen 
} 

Dank! Ich hoffe, dass alle anderen auch genießen, was Apple heute angekündigt hat!

+0

Mit iOS6 unter NDA noch, wie diese Fragen erhalten möglicherweise nicht in der Öffentlichkeit Einstellungen beantwortet. Ich schlage vor, die Apple Entwicklerforen zu besuchen. –

+0

Oh, ok. Da der GM raus war, war ich mir nicht sicher ob ich das noch mache, aber danke. Ich werde von jetzt an mit solchen Sachen zu den Dev-Foren gehen. – mhbdr

+0

@SlyRaskal - Dies ist eigentlich nicht iOS 6.0-spezifisch, also ist es eine durchaus brauchbare Frage hier. –

Antwort

6

Oben auf meinem Kopf können Sie Begrenzungsinformationen für den UIScreen [UIScreen mainScreen].bounds verwenden und überprüfen Sie die Höhe oder besser das Verhältnis des Bildschirms.

+0

Ich werde das versuchen! Danke für die Antwort! :) – mhbdr

12
- (BOOL)isTall 
{ 
    CGRect bounds = [[UIScreen mainScreen] bounds]; 
    CGFloat height = bounds.size.height; 
    CGFloat scale = [[UIScreen mainScreen] scale]; 

    return (([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) && ((height * scale) >= 1136)); 
} 
3

Für diejenigen, die auf dem Bildschirm noch 480 statt 568 zurückgibt, müssen Sie eine neue Start-Bilder mit der neuen Größe in der Registerkarte Zusammenfassung von Anwendungseinstellungen hinzuzufügen.

14
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
{ 
    CGSize result = [[UIScreen mainScreen] bounds].size; 
    if(result.height == 480) 
    { 
     // iPhone Classic 
    } 
    if(result.height == 568) 
    { 
     // iPhone 5 
    } 
} 

see this link for different type of checking