Thursday, 15 August 2013

ios - Detect current device with UI_USER_INTERFACE_IDIOM() in Swift -



ios - Detect current device with UI_USER_INTERFACE_IDIOM() in Swift -

what equivalent of ui_user_interface_idiom() in swift observe between iphone , ipad?

i use of unresolved identifier error when compiling in swift.

when working swift, can utilize enum uiuserinterfaceidiom, defined as:

enum uiuserinterfaceidiom : int { case unspecified case phone // iphone , ipod touch style ui case pad // ipad style ui }

so can utilize as:

uidevice.currentdevice().userinterfaceidiom == .pad uidevice.currentdevice().userinterfaceidiom == .phone uidevice.currentdevice().userinterfaceidiom == .unspecified

or switch statement:

switch uidevice.currentdevice().userinterfaceidiom { case .phone: // it's iphone case .pad: // it's ipad case .unspecified: // uh, oh! be? }

ui_user_interface_idiom() objective-c macro, defined as:

#define ui_user_interface_idiom() \ ([[uidevice currentdevice] respondstoselector:@selector(userinterfaceidiom)] ? \ [[uidevice currentdevice] userinterfaceidiom] : \ uiuserinterfaceidiomphone)

also, note when working objective-c, ui_user_interface_idiom() macro required when targeting ios 3.2 , below. when deploying ios 3.2 , up, can utilize [uidevice userinterfaceidiom] directly.

ios iphone objective-c ipad swift

No comments:

Post a Comment