2016-11-15 10 views
0

Я работаю над настройкой своего приложения для всех размеров устройства. Я буду жестко закодировать все кадры (по моим подсчетам) и использоватьСколько устройств iOS следует принимать во внимание размеры окон (значения точек)?

CGRect frame = [[UIScreen mainScreen] bounds]; 

получить размер окна в точках. Я пробовал авто макет, ограничения, классы размеров (целых девять тысяч ярдов), и я считаю это полезным для проектов, которые не являются моими. Я предпочитаю, чтобы мои взгляды, кнопки и метки не были привязаны к какой-либо конкретной координатной точке x/y, за исключением случаев, когда это необходимо.

Итак, сколько у меня размеров экрана iPhone и iPad необходимо учитывать, чтобы получить это право и позволить пользователям с любым телефоном/планшетом играть в мою игру?

В настоящее время я разработал все рамы для 2G, 3G, 3GS, 4, 4s (320x480); 5, 5s, 6 (масштабирование дисплея) (320x568); 6, 6 плюс (увеличение дисплея) (375x667); 6 плюс и 7 (414x736), и приложение в этих версиях выглядит великолепно.

Я не хочу забывать устройство и в конечном итоге получить отказ в одобрении для отправки в магазин приложений. Я также искал простой список онлайн для всех устройств и не нашел ни одного.

Может ли кто-нибудь помочь мне?

************ UPDATE ***************

Просто хотел опубликовать последующий вопрос здесь. Мне было интересно, как сохранить соотношение сторон в 1: 1? Мой 105x105 пт. кнопка имеет 7:40, и я не могу ее обойти. Я использую собственное изображение для фона, чтобы оно могло или не могло иметь с ним какое-либо отношение (?).

Вот моментальный снимок Xib в построителе интерфейса.

UIButton in IB

+3

То, что вы планируете, является наихудшим возможным решением. Не делай этого. – rmaddy

+0

, и если новый будет добавлен в будущем? это похоже на то, что он станет кошмаром для поддержания – Fonix

+0

. Я понял, что есть ли другие решения? Я уже писал об этой проблеме с ограничениями автоматической компоновки и ограничений ранее. Когда я жестко закодировал все кадры для моего основного экрана для устройства 357x667 и просмотрел экран, я обнаружил, что мой жесткий код сделал именно то, что я хотел. Принимая во внимание, что независимо от того, что я сделал, создание ограничений всегда бросало меня на обочину. –

ответ

0

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

Представьте круглая кнопка в центре экрана 320x568 60 точек вниз. Когда вы берете эту кнопку на экран 375x667, все будет происходить. Высота и ширина будут одинаково увеличиваться, а y-позиция кнопки будет увеличиваться (перемещаться вниз по экрану). С созданием ограничений этот сценарий (пока что я могу сделать) невозможно.

Я использовал 4 ограничений

  • Кнопка вертикально -114 от центра (при необходимости отрегулировать)
  • Кнопки выровнена по горизонтали к центру
  • соотношение сторон
  • Кнопки 1: 1
  • SuperView ширины 3.75 кратна кнопки (при необходимости отрегулировать) ширина

enter image description here

На iPhone 5

enter image description here

На iPhone 6с

enter image description here

Там что-то вроде o созданная здесь из-за разницы в размере экрана, но кнопка как снижена, так и больше на iPhone 6s по сравнению с 5. Это то, что вы искали.

+0

Вау ... Я стою блестяще исправленным. Я не знал, что вы можете сделать это с ограничением вертикального центрирования. Я пробовал целые недели, чтобы это произошло с моей кнопкой «Play» ... Фрэнки, спасибо вам большое, вы спасаете жизнь! –