iOS iPad начать пейзаж, нажать VC, popVC, вид имеет плохое позиционирование - PullRequest
4 голосов
/ 20 октября 2011

Я запускаю свое приложение в альбомной ориентации для iPad.Мой навигационный контроллер хранит мой виртуальный стол. Я щелкаю ячейку, в которую мы помещаем новый виртуальный канал в стек.Это отлично работает.Проблема заключается в том, что, когда я нажимаю стандартную кнопку «назад» на контроллере навигации, мое приложение переводится в портретный режим, а моя таблица ВК выходит за пределы экрана.Я не занимаюсь ручным позиционированием просмотров.Этого не происходит, если я запускаю приложение в портретном режиме.

Как исправить это ненормальное поведение?

Примечания. В приложении также имеется панель вкладок, если это важно.

При дальнейшем тестировании, если я загружаю NavController в портретной ориентации (с первым представлением в виде таблицы), затем переключаю его в альбомную ориентацию, затем выбираю ячейку, затем нажимаю назад, все работает нормально.Таким образом, проблема возникает только в том случае, если я запускаю приложение в альбомной ориентации и никогда не поворачиваю его в портретный режим.

КАЖДЫЙ VC установил флажок shouldAutoRotate для возврата ДА.Я переклассифицировал панель вкладок и сделал то же самое.Мне интересно, если это ошибка.Возможно, проблема заключается в том, что я взял существующие файлы .XIB и их представления, которые были созданы для iPhone, затем скопировал и вставил их, затем удалил особые виды iPhone и затем добавил виды iPad.

Ответы [ 2 ]

1 голос
/ 27 октября 2011

Если ваш подклассный контроллер TabBar возвращает yes, и ВСЕ ваши VC возвращают yes для shouldAutoRotate, то проблема заключается в ваших файлах xib. Хотя из вашего объяснения звучит так, будто виртуальный венчур, который вы нажимаете, не возвращает «да», вы заявили, что это так, поэтому это должны быть файлы XIB.

В IB попробуйте установить ориентацию по умолчанию для ваших представлений в xib как альбомную, clean - build and run.

Это может дать ключ или два.

0 голосов
/ 27 октября 2011

Может быть, вы можете создать новое и простое приложение для iPad, используя только контроллер табуляции, контроллер навигации и 2 контроллера просмотра, чтобы проверить, является ли причина переработанными файлами iPhone .XIB iPhone.

Также вы можете использовать Ctrl + Shift + F для поиска во всем проекте слова «: UIViewController», чтобы дважды проверить, что для каждого VC установлено значение shouldAutoRotate для возврата YES, если в вашем приложении есть сторонний код, имеющий подкласс UIViewController на это. (поиск вернет список файлов заголовков, которые наследуются от UIViewController).

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

Удачи в поиске проблемы =)

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