2014-09-13 2 views
2

Есть ли способ определить тип устройства устройства, на котором работает iOS TodayExtension. Я не могу это сделать в Свифт.Как получить тип устройства в Swift TodayExtension

мне нужно иметь что-то вроде этого:

-(BOOL)isiPad { 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     return YES; 
    } else { 
     return NO; 
    } 
} 

но в Swift и для TodayExtension.

Edit:

let IS_IPAD = (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad); 

не работает в IOS TodayExtensions.

enter image description here

+0

Сравнить http://stackoverflow.com/questions/24831850/how-should-i-replace-these-screen-size-and-device-type-macros-in-swift. –

+0

@MartinR 'UIUserInterfaceIdomPad' не работает над TodayExtensions –

ответ

-4

Я просто понял это сам. Вот код ...

let iPad: [CGFloat]! = [2048, 1024] 
let iPhone: [CGFloat]! = [1920, 1334, 1136] 

func isIpad() -> Bool { 
    if (find(iPad, UIScreen.mainScreen().bounds.height) != nil) { 
     return true 
    } else { 
     return false 
    } 
} 
+0

Это может легко вернуть неверные результаты по мере добавления/изменения новых моделей iOS. –

7

В Swift вы можете использовать этот код.

let isiPad: Bool = (UIDevice.currentDevice().userInterfaceIdiom == .Pad); 

По-моему, используйте это как постоянное.

if (isiPad) { 
    println(isiPad) 
} 
else { 
    println(isiPad) 
} 
+0

В быстрых 3 и выше 'UIDevice.currentDevice(). UserInterfaceIdiom == .Pad' становится ' UIDevice.current.userInterfaceIdiom == .pad' –

Смежные вопросы