2010-06-30 6 views
0

У меня есть UIView, высота которого всегда должна быть ровно в 1,5 раза больше ширины. Когда просмотр автоматически изменяется (в этом случае, поскольку iPhone вращается), эта пропорция перепутана. Как я могу убедиться, что отношение высоты/ширины не изменяется при изменении размера представления?Как автоматически изменить размер UIView?

ответ

1

Вам необходимо установить вид autoresizingMask на UIViewAutoresizingNone. Это предотвратит изменение размера представления при изменении размера родительского представления (например, при повороте телефона.) Если вы хотите, чтобы вид изменялся при повороте, но поддерживайте его соотношение сторон (например, если вы хотите, чтобы он был более широким в ландшафте, но все же 1: 1,5), тогда вам нужно будет установить рамку представления на нужные размеры (но поддерживая желаемое соотношение) в методе willRotateToInterfaceOrientation:duration: контроллера вида.

0

В качестве альтернативы вы можете использовать пользовательский супервизор, который реализует - (void)layoutSubviews, чтобы иметь полный контроль над макетом.

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