2014-09-23 3 views
0

내 응용 프로그램이 iOS7 용으로 작성되었으며 iOS8로 업데이트하려고합니다. 내 응용 프로그램이 가로 방향 및 가로 방향으로 만 작동하도록 구성되었습니다.iOS 8 뒤로 버튼을 누를 때 화면이 잘못된 방향으로 이동합니다.

iOS 8의 경우 화면을 탐색하는 순서를 변경하고 모달 화면 중 하나를 푸시 전환으로 변경했습니다. 메인 화면에는 UINavigationItem에 두 개의 UIBarButtonItem이 있습니다. 이들 각각에는 서로 다른 화면에 연결되는 푸시 세그가 할당되어 있습니다.

앱이 실행 중이고 UIBarButtonItem 중 하나가 두드려지면 segue를 통해 연결된 화면이 기본 화면 위로 예상대로 움직입니다. 뒤로 버튼이 정상적으로 표시됩니다. 문제는 뒤로 단추를 두드렸을 때 발생합니다. 예상대로 화면이 오른쪽으로 벗어나지 않습니다.

iOS 7을 실행하는 iPhone 4에서는 가로 방향 또는 가로 방향이 가로 방향 인 장치와 관계없이 항상 화면이 아래로 내려갑니다 (바닥 방향).

iOS 8을 실행하는 iPhone 6 Plus에서는 호출 된 화면이 빠르게 위쪽 (홈 버튼쪽으로)으로 회전 한 다음 홈 버튼쪽으로 슬라이드합니다. 다시 말하지만 전화가 어느 방향 으로든 왼쪽 또는 오른쪽으로 올바른 방향으로 방향을 지정하는 것은 중요하지 않습니다.

나는 preferredInterfaceOrientationForPresentation을 설정하고, shouldAutorotate를 NO로 설정하고, supportedInterfaceOrientations를 UIInterfaceOrientationLandscapeRight로 설정하려고했습니다. UIInterfaceOrientationLandscapeRight입니다. 아무런 변화가없는 것 같습니다.

내 화면 탐색이 간단하며 사용자 정의 화면 전환을 사용하지 않습니다. 그것은 모든 표준 밀어 부스를 통해서입니다.

화면 "뒤로"전환을 올바르게 다시 작동시켜야합니다.

도움을 주시면 대단히 감사하겠습니다.

답변

0

마침내 화면이 잘못된 방향으로 미끄러지는 것을 발견했습니다. UIViewController의 supportedInterfaceOrientations 메소드를 오버라이드하고 UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeLeft는 iOS 8 (및 iOS 7을 실행하는 기기)의 전환을 혼란스럽게합니다. 이것은 iOS 7에서 제대로 작동하려면 필요했지만 분명히 iOS 8에서 문제를 일으켰습니다. 코드를 제거한 후에 화면 전환이 다시 올바르게 작동하기 시작했습니다.

+0

'supportedInterfaceOrientations'는 'UIInterfaceOrientationMask'에서 값을 반환합니다. 당신은'UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight'입니다. 나는 그것이 당신의 문제를 해결했는지, 이것이 귀하의 질문에있는 오타 일 뿐인 지 모르겠습니다. –

+0

예, 문제가 해결되었습니다. 그러나이 문제가 다시 발생하는 경우를 대비하여이 사실을 명심하십시오. – Rob

관련 문제