에서 다시 전환 "슬라이드"VC의 B오고 후 잘못된 것 사용자 정의 UIViewControllerAnimatedTransitioning
오브젝트를 사용하여 수직 화면 크기가 1/2이 될 때까지 또한 사용자 정의 프리젠 테이션은 프리젠 테이션 VC A를 이동시켜 사용자 정의 UIPresentationContorller
의 presentationWillBegin()
오버라이드로 호출 된 animateAlongsideTransition(in:animation:compeltion)
을 사용하여 들어오는 VC B와 함께 슬라이드 업합니다. 프리젠 테이션 VC의 하단 1/2과 하단의 제시된 VC로 분할 화면을 생각하십시오.UIPresentation 컨트롤러 - 레이아웃이 바닥에서 B.</p> <p>의 ViewController에 내가 (A UINavigationController가에 포함)의 ViewController A로부터 사용자 정의 전환을 구현 한 배경
- VC A는 일부 하위 뷰 (인터페이스 빌더에서 자동 레이아웃) 제한됩니다 (버튼)이 있습니다
모든 것은 내가 해결할 수없는 것 하나 잔소리 경우를 제외하고 예상대로 작동 VC A의 맨 위 레이아웃 가이드 (다시 VC A는 NavC에 있음).
- 모달 뷰 (B)를 표시 할 때 이러한 하위 뷰는 전환 (위대한)의 일부로 푸시 업되고 VC B가 해제 될 때 다시 위 아래로 (위대하게) 표시됩니다.
- 그러나 VC B가 제시되고 앱이 배경에 놓인 다음 포 그라운드로 돌아가는 동안 VC A의 하위보기가 화면 상단에 표시됩니다. 즉, VC A의보기 중간에 상위 (불량) . VC B가 해제 될 때 그들은 중간에 머물러 있습니다 (나쁜) - VC A에서 탐색하여 전체 VC "다시 그리기"를 시작하고 문제를 해결합니다.
나는이 문제가 어떻게하면 포어 그라운드로 되돌아 올 때 다시 조정되는지에 대한 레이아웃 가이드를 가지고 있지만 뷰가 표시되기 전에 문제를 해결하는 방법을 알 수 없다는 것을 알고 있습니다.
이동 방법 중 하나는 "상단 레이아웃 가이드"대신 하위보기의 제약 조건을 "superview top"으로 설정하는 것이지만 자동 레이아웃 지점을 NavC의 일부로 상회합니다.
- VC A의
viewWillAppear/viewWillDisappear
은 절대로이 경우 호출되지 않습니다 (VC A의보기가 절대로 완전히 없어지지 않음). 사용자 정의UIPresentationController
의 containerViewWillLayoutSubviews/containerViewDidLayoutSubviews
하지이라고 하나,이 경우
모든 아이디어는 크게 감사합니다. 아이폰 OS (10), 엑스 코드 8.3