UISplitViewController сжимает левую сторону при повороте с видимым всплывающим меню - PullRequest
5 голосов
/ 08 июля 2011

Я никогда не видел, чтобы это случилось раньше, и я не могу понять, что вызывает это, может быть, вы можете помочь.У меня есть UISplitViewController в качестве моего корневого контроллера представления.Левая сторона представляет собой UINavigationController с контроллером табличного представления.Я могу без проблем поворачиваться от портрета к ландшафту и обратно снова и снова.Однако, если я нахожусь в портретном положении, и я нажимаю кнопку «Меню», чтобы отобразить UIPopoverController, содержащий левый боковой контроллер навигации, и повернуть в горизонтальное положение, пока меню видно, левый обзор с контроллером навигации становится тоньше!Левая сторона становится примерно на 30 пикселей тоньше, и между левой стороной и контроллером детального просмотра появляется зазор.

Я поражен.Есть идеи?

РЕДАКТИРОВАТЬ: всплывающее меню не должно быть видно во время вращения.Это должно быть показано только в портретной форме, чтобы произошла проблема с размерами.У меня нет кода, который изменяет размер чего-либо в моих методах делегата UISplitViewController.Я только обновляю панель инструментов в контроллере подробного представления, чтобы добавить / удалить элемент кнопки панели меню.Я зарегистрировал размер кадра левого контроллера до / после / во время вращения и до / после / во время показа в поповере, и он всегда показывает ширину 320.

Кенни

1 Ответ

3 голосов
/ 08 июля 2011

Я нашел решение. У моего контроллера детального просмотра на правой стороне был UIImageView, который содержал фоновое изображение. Фоновое изображение было достаточно большим для портретной ориентации, поэтому оно больше, чем UIImageView, когда оно было изменено для альбомной ориентации. Режим контента был установлен в центр. По какой-то причине это является причиной уменьшения размера левого бокового обзора (даже если левая боковая рама никогда не менялась ни в одной точке). Установка флажка «Clip Subviews» в xib для моего контроллера детального просмотра, похоже, решила проблему.

...