Мой rootViewController - это UITabbarController
и содержит UINavigationController
s.Почему строка состояния вращается и остается неподвижным портрет
Чтобы ограничить вращение, поскольку iOS6, в некоторых, но не во всех представлениях, я подклассифицировал оба этих контроллера, чтобы уважать ответ toAutorotate их верхнего или видимого вида.
Это все работает просто отлично ... в большинстве случаев.
В одном случае, начиная с вида (UITableviewController), который не допускает вращения.
Я нажимаю вид, который позволяет авторотировать, поворачиваться в альбомный, а затем обратно на портрет.
Затем, когда я выхожу из вида, все выглядит хорошо.
Но теперь, если я поворачиваю устройство, сама строка состояния вращается, оставляя пустое место сверху и закрывая часть левой части текущего вида. Текущее представление не вращается (как и не должно). Только строка состояния вращается, назад и вперед. Представление остается отзывчивым, получает штрихи и работает как обычно, не изменяет размер или не реагирует на вращение каким-либо образом (как это не должно).
Это поведение продолжается до тех пор, пока я не убью и не перезагрузите приложение. Как только это произойдет, я не нашел другого способа остановить его. При перезапуске все снова работает правильно и будет работать должным образом в течение неопределенной продолжительности. Я могу сидеть там, толкать, выскакивать, вращаться взад и вперед, до моего сердца без проблем.
Я никогда не мог воссоздать это в симуляторе.
Это происходит без видимой причины, я не могу этого добиться. Я бы сказал, что в 85% случаев он работает правильно. Я думал, что я это фиксировал много раз, когда это не происходило в течение нескольких дней или даже недель. Затем, снова, это случается снова.
Я не могу найти сообщение на форуме, чтобы описать это поведение, поэтому я не нашел места для начала отладки. Как может строка состояния качаться сверху вниз, и представление не изменяет размер или не поворачивается или не реагирует каким-либо образом. Если бы я знал, как это сделать, у меня будет место для начала.
Проблема заключается в ориентации устройства (FaceUp, faceDown и неизвестной ориентации), которые не могут быть установлены в симуляторе. Но на устройстве вы можете получить эту ориентацию. Распечатайте ориентацию устройства, а затем вы можете попробовать отладить. – Bharath