Viele Möglichkeiten, dies in Swift zu tun :
Wir überprüfen das folgende Modell (wir können hier nur zwischen Groß- und Kleinschreibung suchen):
class func isUserUsingAnIpad() -> Bool {
let deviceModel = UIDevice.currentDevice().model
let result: Bool = NSString(string: deviceModel).containsString("iPad")
return result
}
Wir überprüfen das folgende Modell (wir können hier eine Suche ohne Berücksichtigung der Groß- / Kleinschreibung durchführen):
class func isUserUsingAnIpad() -> Bool {
let deviceModel = UIDevice.currentDevice().model
let deviceModelNumberOfCharacters: Int = count(deviceModel)
if deviceModel.rangeOfString("iPad",
options: NSStringCompareOptions.LiteralSearch,
range: Range<String.Index>(start: deviceModel.startIndex,
end: advance(deviceModel.startIndex, deviceModelNumberOfCharacters)),
locale: nil) != nil {
return true
} else {
return false
}
}
UIDevice.currentDevice().userInterfaceIdiom
unten gibt iPad nur zurück, wenn die App für iPad oder Universal ist. Wenn es sich um eine iPhone-App handelt, die auf einem iPad ausgeführt wird, wird dies nicht der Fall sein. Sie sollten stattdessen das Modell überprüfen. ::
class func isUserUsingAnIpad() -> Bool {
if UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad {
return true
} else {
return false
}
}
Dieses Snippet unten wird nicht kompiliert, wenn die Klasse kein erbt UIViewController
, andernfalls funktioniert es einwandfrei. Unabhängig davon UI_USER_INTERFACE_IDIOM()
gibt iPad nur zurück, wenn die App für iPad oder Universal ist. Wenn es sich um eine iPhone-App handelt, die auf einem iPad ausgeführt wird, wird dies nicht der Fall sein. Sie sollten stattdessen das Modell überprüfen. ::
class func isUserUsingAnIpad() -> Bool {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.Pad) {
return true
} else {
return false
}
}
UI_USER_INTERFACE_IDIOM()
ist äquivalent zu([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? [[UIDevice currentDevice] userInterfaceIdiom] : UIUserInterfaceIdiomPhone)
. Möglicherweise ist es besser, das Ergebnis irgendwo zwischenzuspeichern :BOOL iPad = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad; … if (iPad) …
.