2013-07-30 4 views
0

Я изучаю разработку iOS, и я немного смущен этими размерами устройств. Когда я проверяю в симуляторе, у меня есть такие варианты:Различные размеры экрана устройства

Hardware -> Device -> iPhone 
Hardware -> Device -> iPhone (Retina 3.5 inch) 
Hardware -> Device -> iPhone (Retina 4 inch) 

Должен ли я проверить мое приложение против всех этих трех вариантов? Какому телефону соответствует соответствующий размер экрана? (например, что это означает, когда мы тестируем на 3,5 дюйма, для чего iPhone подходит?).

+0

Не волнуйтесь, если вы использовали Autolayout, а затем выберите любой вариант. – Jitendra

+0

Размер экрана iPhone5 составляет 320 пикселей на 1608 пикселей, а iPhone4s и более низкие размеры экрана - 320 пикселей x 480 пикселей. –

ответ

0

Вы должны протестировать все это. Первый означает, устройства до iPhone 4. Второй соответствует iPhone 4 и iPhone 4s. Последний один iPhone 5.

0

Hardware -> Device -> iPhone

//iPhone 3gs & iPod Touch 3 & early 

Hardware -> Device -> iPhone (Retina 3,5 дюйма)

//iPhone4,4s & iPod Touch 4 

Оборудование -> устройства -> iPhone (Retina 4 inch)

//iPhone5 & iPod Touch 5 
0

Ну, разные iPhone имеют разные размеры экрана. Например, размеры на iPhone 4,4S являются

320 X 480 

iPhone 5 является

1136 X 640 

Так что вам нужно сделать, это проверить размер экрана, или проверьте тип устройства, которое в настоящее время работает, и вернуть его.

вот ответ нашел на другой странице: here

if([[UiDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){ 
if(UIScreenOverscanCompensationScale==1136/640){ 
     //move to your iphone5 storyboard 
     [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)]; 
    } 
    else{ 
     //move to your iphone4s storyboard 
     [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)]; 
    } 
} 
+0

привет за ответ. да, было бы полезно также найти информацию о том, как поддерживать все эти экраны. Кстати. Я не использую раскадровки. Я слышал, что могу использовать image.png и [email protected], и приложение будет загружать соответствующий, если это сетчатый или не сетчатый дисплей, но теперь я вижу, что есть три варианта (iphone, iphone 3.5 дюймовый, iphone 4 дюйма), а не два ...?! – user2054339

+0

Да, если вы просто установите размер оригинального iphone и 3g/3gs, вам просто нужно будет проверить их. Ничего больше, чем оператор if() if. Но если вы хотите просто использовать изображения, измените раскадровку на UIImage * image = [UIImage imageNamed:]; и измените изображение на устройстве, но вам нужно :) – user2277872

0

3,5-дюймовый размер экрана соответствует размеру каждого iPhone/IPod с сенсорным экраном вплоть до iPhone 5. iPhone 5 имеет 4-дюймовый экран ,

Вам нужно будет протестировать приложение против всех размеров экрана. На самом деле Apple рекомендует использовать Auto Layout, чтобы убедиться, что даже если экран имеет другой размер, ваше приложение будет выглядеть хорошо, например, когда строка состояния становится больше, когда пользователь совершает телефонный звонок.

0

См iPhone поставляется в 2-х различных экрана размером 3,5 дюйма и 4 дюйма, iPhone, который поставляется с 3,5-дюймовым экраном имеют возможность иметь сетчатку и без сетчатки дисплей, но 4-дюймовый экран, который начался с iPhone 5 имеет только сетчатый дисплей. iPhone5 имеет размерность экрана 320px568p и ниже iPhone5 имеет 320x480

поэтому если вы планируете предназначаться как размер экрана для вашего приложения, вы должны проверить на всех iPhone'ов размера

1

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

Единственное, что вам нужно для беспокойства - это отображение сетчатки, когда дело доходит до изображений. Для этого вам просто нужно иметь изображение с двойным размером, с @ 2x на конце. Например, для телефона с предварительной сеткой у вас может быть изображение размером 100x100 пикселей, которое называется image.png. Затем вам нужен один под названием [email protected], который имеет размер 200x200 пикселей. iOS автоматически загрузит версию сетчатки, когда потребуется.

Если вам нужен другой интерфейс для iPhone 5, тогда решение @ user2277872 будет хорошим.

Вы должны обязательно изучить использование Autolayout, так как это облегчает жизнь для многих вещей, особенно если у вас не будет другого пользовательского интерфейса для iPhone 5, так как он автоматически позиционирует элементы в соответствии с набор предопределенных правил, которые вы ему даете. Например, вы можете хотеть, чтобы кнопка всегда была 20px в нижней части экрана. Autolayout сделает это за вас, независимо от того, имеет ли экран 4 дюйма или 3,5.

+0

Привет, PaReeOhNos, вы упомянули: «вы указываете координаты в точках» - вы имеете в виду, что это делается так автоматически, или я должен делать это так? – user2054339

+0

Все делается автоматически. Итак, если, например, вы хотели добавить subview, то независимо от того, является ли это сетчатым экраном или не сетчаткой, вы будете делать [[UIView alloc] initWithFrame: CGRectMake (10, 10, 10, 10)]; Для отображения не сетчатки это нарисовало бы квадрат 10x10px, в координате 10px, 10px. На экране сетчатки он нарисовал бы квадрат 20x20px, по координате 20px, 20px :) – PaReeOhNos

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