2013-05-24 5 views
15

Ich versuche, ein Makro zu schreiben, um das Gerät zu bestimmen, ist 3,5 Zoll oder 4 Zoll. Etwas ähnliches unten.iOS Writing Macro erkennen 3,5 Zoll oder 4 Zoll Display

#define IOS_OLDER_THAN_6 ([ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] < 6.0) 
    #define IOS_NEWER_OR_EQUAL_TO_6 ([ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] >= 6.0) 

Kann mir jemand helfen. Bitte

Antwort

56

können Sie iphopne 3,5 Zoll oder 4 Zoll mit Balg erkennen: -

#define isiPhone5 ([[UIScreen mainScreen] bounds].size.height == 568)?TRUE:FALSE 

Sie sie mit Gebrüll Methode zum Beispiel überprüfen: -

 if (isiPhone5) 
    { 
      // this is iphone 4 inch 
    } 
    else 
    { 

      //Iphone 3.5 inch 
    } 

Bitte werfen Sie einen Blick von dieser Link für Sie wusste alles über Macro für das Gerät bestimmen, ist 3,5 Zoll oder 4 Zoll.

How to detect iPhone 5 (widescreen devices)?

+1

Dieses Makro ist falsch. Für den Code: max = IS_iPhone5? 5: 6; Ich bekomme 1, weil du vergessen hast, Armschienen hinzuzufügen. Das Kurzformat if-else ist hier nicht erforderlich. Unter dem richtigen Code: # define isiPhone5 ([[UIScreen mainScreen] Grenzen) .size.height == 568) – Szu

+1

ist nicht orientiert Ausrichtung orientiert in iOS8? –

+0

@SjoerdPerfors du hast Recht. Ich fügte der Ausrichtung eine Antwort hinzu, die ich zu einer anderen Frage gepostet habe, da die Antworten zu dieser Frage nicht mehr akzeptiert werden: http://stackoverflow.com/a/35208438/159758 – DonnaLea

5

so etwas wie dies bedeuten:

#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES) 
2

können Sie überprüfen, ob es iphone 5 (4 Zoll) wie folgt aus:

Der Bildschirm des iPhone 5 mit einer Höhe von 568 hat .

if ([ [ UIScreen mainScreen ] bounds ].size.height == 568) 
Verwandte Themen