Безопасно ли перемещение объектов с помощью кросс-модели CGRectMake? - PullRequest
1 голос
/ 03 марта 2011

Если я переместить элементы управления после поворота устройства с помощью CGRectMake, используя размеры экрана iPhone 3, что я могу ожидать от iPhone 4, поскольку его разрешение удвоено?

Например, если я установлю кнопку размером 125x125 в позиции 20, 20, на iPhone 4 она будет удвоена до 250x250 при 40, 40?

button1.frame = CGRectMake(125,125,20,20);

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Да, делать это безопасно. Начиная с iOS 4, в SDK есть встроенный множитель. Таким образом, экраны iPhone 2G-3GS и экрана iPhone 4 расположены на сетке 320x480. Когда ваш код будет запущен на старых устройствах, множитель будет равен 1, а ваши элементы управления появятся (125,125) и будут иметь размер 20x20 пикселей. Но на iPhone 4 множитель будет равен 2, поэтому ваш элемент управления будет отображаться с (250 250) и будет 40x40 пикселей. Таким образом, ваш интерфейс будет выглядеть одинаково на всех устройствах iOS.

1 голос
/ 03 марта 2011

Для начала, я надеюсь, что вы используете CGRectMake, а не CGMakeRect.Вы можете позиционировать элементы управления, не задумываясь о разрешении iPhone.Вы просто помещаете фрейм, как будто вы нацеливаетесь только на устройства с более низким разрешением.Но вы должны сделать 2-кратные снимки всех изображений, которые вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...