2

나는 willRotateToInterfaceOrientation : 메서드에서 뷰/서브 뷰 프레임을 수동으로 조정하여 회전을 처리하는 UINavigationController 내부에 루트 UIViewController (VC1)를 가지고 있습니다. 루트 UIViewController가 기본적으로 스택 맨 위에있는 활성 뷰 컨트롤러 인 경우 회전이 올바르게 작동합니다.UINavigationController 스택 맨 위에있는 UIViewController의 회전을 처리하는 방법은 무엇입니까?

NavigationController 끌어 다른 UIViewController (VC2) 밀어 때 문제가 발생합니다. 그런 다음 VC2를 잘 돌립니다. 그러나 내가 팝업 VC2 문제는 VC1 올바른 방향으로 회전하지 않은, 해당 willRotateToInterfaceOrientation : 메서드가 호출됩니다 ?? VC1의 shouldAutorotateToInterfaceOrientation : 메서드가 호출되었지만 그 것입니다.

내 질문에 다음 어떻게 내 UIViewController VC1이 상황에서이 유형의 현재 방향에 대해 업데이트되었는지 확인해야합니까 ??

답변

1

내가 해결하는 방법은 viewDidDisappear이 호출되었을 때 방향이 지금과 다른지 확인하기 위해 viewWillAppear:을 확인하는 것입니다. 그렇다면 뷰를 레이아웃하기위한 코드를 호출합니다.

_layoutViews과 같이보기를 배치하는 코드를 먼저 적용하려면 viewWillAppearwillRotateToInterfaceOrientation:에서 필요에 따라 호출하면됩니다.

관련 문제