2011-02-23 2 views
0

iPad 응용 프로그램에서 작업하고 있습니다. 도와주세요.UISplitView가 회전 이벤트를받지 못합니다.

루트보기와 세부보기가있는 정상적인 분할보기가 있습니다. Detail 뷰에서 presentpresentModalViewController를 사용하여 다른 하위 뷰를 팝업합니다.

앱을 세로 모드로 시작합니다. 그런 다음 하위보기가 팝업 된 후 iPad를 가로 모드로 회전 시켰습니다. 회전 이벤트를 수신 했으므로 하위보기가 잘 회전했습니다. 그런 다음 하위보기를 닫습니다 ("완료"버튼 사용).

하지만 분할보기는 회전 이벤트를 수신하지 않으므로 현재 가로 모드에 있음을 알 수 없습니다. 그러면 하위 뷰를 닫은 후 그 시간에 어떤 일이 발생합니까? 창 분할은 절반입니다. 왼쪽 (루트)은 검은 색입니다. 오른쪽 (Detail)은 아직 남아 있습니다 (Popover 버튼은 여전히 ​​있습니다).

이 경우 세부보기의 Popover 단추를 제거하는 코드를 추가했습니다. 하지만 루트보기를 표시하는 방법을 모르겠습니다. 솔루션이 될 것 같아요 .... 분할 뷰에 회전이 변경되었음을 알리는 방법, 회전은 자식 뷰에있는 동안 완료되었으므로 ???

모든 의견을 환영합니다. 나는 Objective-C에 대해 매우 새로운 것이다. 정말 고마워!!

요약 세로 모드에서

  1. 시작
  2. 자세히보기에서
  3. 클릭 버튼
  4. 현재 모달 아이보기
  5. 회전 가로로
  6. 닫기 모달 아이보기
  7. Splitview 제대로 표시되지 지금 가로 모드 (사진 참조)

https://devforums.apple.com/servlet/JiveServlet/downloadImage/10556/450-362/Screen+shot+2011-02-23+at+2.58.21+AM.png

+0

나는 모든이 포럼을 통해 검색 및 내 문제와 유사한 것으로이 게시물을 발견 ...하지만 난 포스트가 제공하는 정보를 정기적으로 문제를 해결할 수없는했습니다. 제 사건은 시나리오 4와 비슷합니다. http://stackoverflow.com/questions/2795665/problem-after-dismissing-a-modal-view-used-in-conjunction-with-a-uisplitviewcontr – user606135

답변

0

당신이 세로 모드에서 한 번 팝 오버를 처리하는 UIViewController에있을 것 같은, 선택된 자세히보기가되도록 UISplitViewController 대리자를 설정해야합니다.

그래서 세부보기를 지정할 때 대리인으로 지정할 수도 있습니다. 세부 뷰는 각각 UISplitViewControllerDelegate 프로토콜을 지원해야합니다.

0

필자도 똑같은 문제가 있습니다. 제 경우에는 제시된보기를 닫으려고 animation을 사용하지 않습니다. 애니메이션을 사용하면 문제가 사라집니다. animated를 YES로 설정하면됩니다.

환호,

나빈 샨은

관련 문제