Как получить x и y для CGRect, чтобы инициализировать элемент управления с рамкой? - PullRequest
3 голосов
/ 23 февраля 2010

Я программирую приложение для iPhone, и мне интересно, как программисты правильно позиционируют элементы управления без использования Interface Builder. Более или менее, это потому, что я хочу расположить пару элементов управления без использования Interface Builder.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 24 февраля 2010

Попробуйте использовать IB, чтобы увидеть координаты, в которых вы хотели бы расположить ваши объекты, а затем добавить их в код. Обычно вам нужно сделать несколько проб и ошибок, чтобы сделать это правильно.

Возможно, вы захотите расположить элементы относительно размера экрана. В этом случае я бы рекомендовал избегать жесткого кодирования размера экрана в приложении, например 480/2. Вместо этого используйте общий объект UIScreen, чтобы получить размер текущего экрана, подобный следующему:

(пример размещения UIView в центре экрана - любой экран, внешний экран iPhone, iPad, iPad)

myView.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2, [[UIScreen mainScreen] bounds].size.height/2);
0 голосов
/ 24 февраля 2010

Я делаю все свои элементы управления и представления программно, и это совсем не сложно.Я использую IB для макета моего приложения, поэтому я просто нахожу там, где я хочу, и затем помещаю это в сам код.

0 голосов
/ 23 февраля 2010

Если вы не хотите использовать IB, чудесного решения не существует. Вы должны учитывать размеры iPod / iPhone (320px * 480px).

Как правило, вы должны отцентрировать компонент GUI по оси x, а затем настроить его по оси y.

...