iOS erkennt, ob sich der Benutzer auf einem iPad befindet
Habe ich eine app, läuft auf iPhone und iPod Touch, läuft es auf dem Retina iPad und alles, aber es braucht eine Anpassung. Ich brauche, um zu erkennen, ob das aktuelle Gerät ist ein iPad. Welchen code kann ich verwenden, um festzustellen, ob der Benutzer mit einem iPad in mein UIViewController
und dann etwas ändern entsprechend?
InformationsquelleAutor der Frage Albert Renshaw | 2012-04-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es durchaus ein paar Möglichkeiten, um zu überprüfen, ob ein Gerät ein iPad. Dies ist meine Lieblings-Weg, um zu überprüfen, ob das Gerät in der Tat ein iPad:
Die Art, wie ich es
Andere Beispiele
Für eine schnelle Lösung, siehe diese Antwort: https://stackoverflow.com/a/27517536/2057171
InformationsquelleAutor der Antwort WrightsCS
In Swift Sie können mithilfe der folgenden Gleichungen zu bestimmen, die Art von Gerät auf Universal apps:
Nutzung wäre dann so etwas wie:
InformationsquelleAutor der Antwort Dschee
Dies ist Teil der UIDevice ab iOS 3.2, z.B.:
InformationsquelleAutor der Antwort Richard
Können Sie auch diese
InformationsquelleAutor der Antwort Chilly
UI_USER_INTERFACE_IDIOM() gibt nur das iPad, wenn die app für iPad oder Universal. Wenn Ihr eine iPhone-app sein, lief auf ein iPad, dann wird es nicht. Also sollten Sie stattdessen prüfen Sie das Modell.
InformationsquelleAutor der Antwort malhal
Seien Sie Vorsichtig: Wenn Sie Ihre app zielt auf iPhone-Gerät nur, das iPad läuft mit der iphone-kompatiblen Modus wird false zurückgeben unten Anweisung:
Den richtigen Weg zu erkennen, körperliche iPad-Gerät:
InformationsquelleAutor der Antwort peak
Fand ich, dass die Lösung nicht für mich arbeiten in den Simulator in Xcode. Stattdessen arbeitet:
ObjC
Swift
Auch in die 'Andere Beispiele' in Xcode das Gerät Modell kommt wieder als "iPad-Simulator", damit die oben genannten zwicken sollte Sortieren, dass aus.
InformationsquelleAutor der Antwort Andy
Viele Möglichkeiten, das zu tun, Swift:
Überprüfen wir das Modell unten (wir können nur tun, eine case-sensitive Suche):
Überprüfen wir das Modell unten (wir tun können, zwischen groß-und Kleinschreibung/unempfindlich Suche hier):
UIDevice.currentDevice().userInterfaceIdiom
unten gibt nur iPad wird die app für iPad oder Universal. Wenn es eine iPhone app sein, lief auf ein iPad, dann wird es nicht. Also sollten Sie stattdessen prüfen Sie das Modell. :Diesem snippet unten nicht kompiliert, wenn die Klasse nicht Erben eines
UIViewController
sonst funktioniert es Prima. UnabhängigUI_USER_INTERFACE_IDIOM()
gibt nur iPad wird die app für iPad oder Universal. Wenn es eine iPhone app sein, lief auf ein iPad, dann wird es nicht. Also sollten Sie stattdessen prüfen Sie das Modell. :InformationsquelleAutor der Antwort King-Wizard
*
*
InformationsquelleAutor der Antwort Ashok R
Können Sie die rangeOfString zu sehen, der das Wort iPad vorhanden ist, wie dieses.
InformationsquelleAutor der Antwort LearningGuy
Weiteres Swifty Weg:
Verwendung:
InformationsquelleAutor der Antwort Aviel Gross
Viele Antworten sind gut, aber ich benutze, wie dies in swift 4
Schaffen Konstante
Einsatz, wie dies
Edit: Wie Vorgeschlagen Cœur erstellen Sie einfach eine Erweiterung auf UIDevice
}
InformationsquelleAutor der Antwort Rohit Sisodia
Für die neuesten Versionen von iOS, fügen Sie einfach
UITraitCollection
:und dann innerhalb
UIViewController
einfach überprüfen:InformationsquelleAutor der Antwort Bartłomiej Semańczyk
InformationsquelleAutor der Antwort Rajesh Sharma
Warum so kompliziert? Dies ist, wie ich es tun...
Swift 4:
Diese Weise können Sie einfach sagen:
if iPad {}
InformationsquelleAutor der Antwort The Ruffus