Создание полноэкранного UIView на вращающемся UIViewController - PullRequest
0 голосов
/ 13 января 2012

У меня есть UIViewController, который поддерживает все ориентации интерфейса.Представления создаются программно в loadView (), которая работает до сих пор.Все представления, добавленные в метод loadView (), имеют правильный размер и вращение.

Однако все представления, добавленные позже, не будут правильно повернуты.Если я добавлю следующий UIView

[[[UIView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] applicationFrame].size.width, [[UIScreen mainScreen] applicationFrame].size.height)] autorelease];

, это будет только полноэкранный режим, если UIViewController был в портретном режиме, когда был добавлен UIView.Если бы устройство находилось в ландшафтном режиме, ширина UIView составляет всего 748 пикселей, а не 1024, как я ожидал.[[UIScreen mainScreen] applicationFrame] .size.width обеспечивает 768 пикселей или 748 пикселей в зависимости от поворота устройства.

Итак, как мне создать и добавить UIView, чтобы он отображался в полноэкранном режиме?Я также хотел бы инициализировать содержимое UIView только для одного режима (книжный ИЛИ альбомный) и иметь автоматическое изменение размера для другого режима.Мне в основном нужно сказать UIView, что это режим просмотра в портретном режиме, и его следует поворачивать при добавлении в контроллер ландшафтного вида.

1 Ответ

0 голосов
/ 16 января 2012

Поскольку я не мог инициализировать UIView с правильным размером, я просто оставил код инициализации таким, каким он был (всегда создавая представление в портретном режиме), и изменил размер UIView позже до свойства bounds родительского представления.В отличие от свойства frame, bounds возвращает правильный размер в зависимости от текущего поворота.

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