2011-01-31 4 views
6

Я хочу использовать разные изображения в приложении для iPhone, в зависимости от того, является ли текущее устройство iPhone 3G, iPhone 4 или iPad. Я попытался получить разрешение экрана (размер) устройства, но он всегда возвращает 320 X 480 для разных iPhone.Как использовать разные изображения, в зависимости от типа устройства iOS?

Как определить, на каком устройстве я работаю, чтобы я мог предоставить правильные изображения?

Я не хочу получать версию ОС для iPhone.

+8

ничего плохого в '@ 2x' именования схемы для изображений с высоким разрешением? – BoltClock

ответ

7

Если вы хотите эту информацию для выбора правильной графики для своего разрешения, то ответ middaparka - это то, что вы ищете.

Однако, если вам нужна модель устройства или информация о разрешении для другой цели, тогда UIDevice и UIScreen могут быть тем, что вы хотите.

NSString *myDeviceModel = [[UIDevice currentDevice] model]; 
CGRect myScreenSize = [[UIScreen mainScreen] bounds].size; 
+1

+1 Любовь, чтобы знать, почему это было приостановлено - это, в конце концов, «чистый» ответ. –

10

Там нет, скорее всего, не нужно делать то, что вы пытаетесь сделать, так как IOS имеет встроенную поддержку для загрузки изображений на соответствующий размер для iPhone (сетчатка и предварительно сетчатка резолюции) и IPad.

Прочтите Resource Programming Guide (в частности, «Указание изображений высокого разрешения в iOS» и «Ресурсы, поддерживаемые устройствами iOS») и iOS Application Programming Guide для получения дополнительной информации.

Кстати, как до и после сетчатка iPhone/Бобы имеют точка разрешение 320 X 480. Apple, различает кеглей (зависит от разрешения) и размер пикселя, чтобы помочь вещи по пути.

+1

Просто небольшая коррекция - iPad не имеет точечного разрешения 320x480, это только устройства меньшего размера. IPad имеет точечное разрешение 1024x768. –

+0

@ Kendall Хорошая точка - означает «Под». Исправлены. :-) –

+1

Вы также можете добавить, что вы можете протестировать форм-фактор размера планшета, используя 'if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)', если будущие планшетные устройства не имеют точного размера экрана 1024x768. –

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