Как пропорционально автоматически изменить размер UIView? - PullRequest
0 голосов
/ 30 июня 2010

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

Ответы [ 3 ]

1 голос
/ 01 июля 2010

Вы можете реализовать метод -sizeThatFits: , чтобы сохранить размер в пропорции.

1 голос
/ 30 июня 2010

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

0 голосов
/ 15 июня 2011

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

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