내 rootViewController는 UITabbarController
이고 UINavigationController
초입니다.상태 막대가 회전하고 보는 이유는 세로로 유지됩니다.
회전을 제한하기 위해 iOS6은 모든 뷰가 아닌 일부 뷰에서 최상위 뷰 또는 보이는 뷰의 shouldAutorotate 응답을 존중하도록이 두 컨트롤러를 서브 클래 싱했습니다.
이 모든 것이 완벽하게 작동합니다 ... 대부분의 경우.
회전을 허용하지 않는보기 (UITableviewController)에서 시작하는 경우가 있습니다.
자동 회전을 허용하고 가로로 회전 한 다음 세로로 돌아가는보기를 누릅니다.
내가보기를 팝 때, 모두 잘 나타납니다.
하지만 이제 장치를 회전하면 상태 표시 줄 만 회전하고 상단에 빈 공간이 남고 현재보기의 왼쪽 부분을 덮습니다. 현재보기가 회전하지 않습니다 (그렇지 않아야 함). 상태 표시 줄 만 앞뒤로 회전합니다. 보기는 응답 성이 뛰어나고 접촉을 받고 정상적으로 작동하고 크기를 조정하거나 회전에 응답하지 않습니다 (그렇지 않아야 함).
이 동작은 응용 프로그램을 종료하고 다시 시작할 때까지 계속됩니다. 일단 그것이 발생하면 나는 그것을 멈추게하는 다른 방법을 찾지 못했습니다. 다시 시작할 때 모든 것이 올바르게 다시 작동하며 불확실한 기간 동안 제대로 작동합니다. 나는 거기에 앉아서 터벅 터벅 걷고, 내 마음의 내용을 이리저리 앞뒤로 돌릴 수있다.
나는 이것을 시뮬레이터에서 결코 재현 할 수 없었다.
뚜렷한 이유없이 발생합니다. 나는 그렇게 할 수 없습니다. 85 %의 시간이 제대로 작동한다고 말하고 싶습니다. 나는 며칠 또는 몇 주 동안 발생하지 않았을 때 여러 번 고쳐 졌다고 생각했습니다. 그런 다음 파란색에서 다시 발생합니다.
이 동작을 설명하는 포럼에서는 게시물을 찾을 수 없으므로 디버깅을 시작할 위치조차 찾지 못했습니다. 어떻게 상태 표시 줄이 위에서 아래로 스윙 할 수 있고 뷰는 어떤 방식으로도 크기를 조정하거나 회전하거나 응답하지 않습니다. 그 일이 일어날 수있는 방법을 알고 있다면 시작할 수있는 곳이 있습니다.
문제는 시뮬레이터에서 설정할 수없는 장치 방향 (FaceUp, faceDown 및 알 수없는 방향) 때문입니다. 그러나 장치에서이 방향을 얻을 수 있습니다. 장치 방향을 인쇄 한 다음 디버그를 시도 할 수 있습니다. – Bharath