2014-12-22 2 views
1

я нашел это красиво определяет:Как обнаружить iPhone 6 (6 плюс) на тренажере

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0) 

#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width) 
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height) 
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT)) 
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT)) 

#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0) 
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0) 
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0) 
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0) 

Но когда я бегу iPhone 6 симулятор или iPhone 6 плюс имитатор это каждый раз, когда работа, как iPhone 5.

Я проверил размер экрана:

(lldb) po [UIScreen mainScreen] 
<UIScreen: 0x7ffb3a402930; bounds = {{0, 0}, {320, 568}}; mode = <UIScreenMode: 0x7ffb3a520a80; size = 640.000000 x 1136.000000>> 

и кажется выворачивающий ясно, почему он указывает мне на iPhone 5 вместо iPhone 6 или iPhone 6 плюс.

+2

Вы добавили По умолчанию (Splash)? Похоже, вы не добавили его –

+0

@ ChintaN-Maddy-Ramani, о, да, это та же проблема. Спасибо. Я добавил изображения по умолчанию, и теперь он работает хорошо. –

ответ

3

Вы должны добавить соответствующие изображения запуска, чтобы приложение или симулятор приложения использовали реальный размер, а не увеличенный или эмулируемый размер, пока вы не добавите изображение запуска для Retina HD 5.5 и Retina HD 4.7, вы не будете использовать новые размеры ,

Нажмите маленькую серую стрелку на источнике изображений запуска в общих настройках проекта и добавьте соответствующие изображения запуска. enter image description here

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