2014-07-01 2 views
2

분할 뷰 컨트롤러가 있고 맨 위에 모달 뷰 컨트롤러를 표시하려는 응용 프로그램에 문제가 있습니다.UISplitViewController 및 모달 뷰 컨트롤러 프레젠테이션 문제

테스트하려면이 응용 프로그램의 구조를 모방 한 기본 프로젝트를 만들었습니다. 나는 다운로드 누군가를 위해 Github에서이 업로드 한 : 두 가지 문제가 있습니다 https://github.com/CaptainRedmuff/SplitViewDemo

하는 I 아래 세부 사항 :

문제 1 :

세로 방향으로 모달 뷰 컨트롤러를 제시 (내가 믿는 popover로서) 보이는 마스터 뷰 컨트롤러, 모달 뷰 컨트롤러는 마스터 뷰 컨트롤러 아래에 디스플레이됩니다. 모델보기 컨트롤러와 상호 작용하면 앱이 충돌합니다.

판 2 :

모달 뷰 컨트롤러를 자동적으로 기기가 마스터로 가로 방향으로 회전 될 때 기각 (마스터 뷰 컨트롤러) 탭 바 컨트롤러 모달보기 컨트롤러 제시 뷰 컨트롤러가 계층 구조에서 제거됩니다.

내가 볼 수있는 가능한 해결책 중 하나는 UISplitViewControllerDelegate 방법 - (BOOL)splitViewController:shouldHideViewController:inOrientation:을 따르고 NO을 반환하여 마스터보기 컨트롤러를 항상 표시되도록하는 것입니다. 그러나 이것은 내가 원하는 행동이 아니기 때문에 가능한 해결책이 아닙니다.

마스터보기 컨트롤러를 프로그래밍 방식으로 표시하거나 해제 할 수 없다는 점을 감안할 때 뷰 분할 컨트롤러를 전체 분할보기 컨트롤러의 맨 위에 모달로 표시하는 다른 방법은 없습니다. UIPopoverController 대신 UISplitViewController의 창에 추가되기 때문에

[self.popover dismissPopoverAnimated:NO]; 

이 문제가 발생했을 : 같은

답변

-1

모달 VC를 제시하기 전에 당신은 팝 오버를 해제해야합니다.

관련 문제