Контроллер модального вида вращается неправильно - PullRequest
1 голос
/ 17 января 2012

На ipad, в ios target C, у меня проблемы с поворотами в одном модальном виде. Я даю позицию элемента в методе shouldAutoRotate, и его родительское представление тоже может вращаться, но когда я вращаю модальное представление, элементы не помещаются в правильное место.

Для получения дополнительной информации, если я открою представление в портретном режиме, я получу следующие данные:

<UIView: 0x72bc160; frame = (0 0; 768 1004); clipsToBounds = YES; 
autoresize = W+H; layer = <CALayer: 0x13f324f0>

А в ландшафтном режиме:

<UIView: 0x1358f3b0; frame = (0 0; 768 748); clipsToBounds = YES; 
autoresize = W+H; layer = <CALayer: 0x1358f3e0>>

Но если я поверну вид, горизонтальная рамка изменится на вертикальную ...

Я что-то не так делаю?

1 Ответ

5 голосов
/ 17 января 2012

Мне было очень весело с вращением контроллера представления. Необходимо помнить две вещи:

  1. Предполагая, что вы покрываете весь экран (и не делаете ничего особенного с преобразованием подпредставления), убедитесь, что вы представляете модальный контроллер представления из самого широкого возможного контроллера представления, часто корневого контроллера представления приложения.
  2. Убедитесь, что каждый концептуальный контроллер представления передает события вращения своим концептуальным дочерним контроллерам представления. (Это было очень плохо определено до iOS 5.)

Когда это происходило со мной, это происходило потому, что контроллеры представления в фоновом режиме получали события вращения, но конкретный контроллер представления, из которого я представлял, игнорировал их и не передавал их модальному контроллеру представления, что приводило к несогласованности .

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