저는 처음부터 내 자신의 SplitViewController를 작성하고 있습니다 (즉, UIViewController
이 아닌 서브 클래스 화는 UISplitViewController
이 아닙니다).맞춤 SplitViewController 코딩 - 언제 viewWillAppear, viewDidAppear 등을 호출해야합니까?
적절한 메시지 (viewWillAppear, viewDidAppear, viewWillDisapppear and viewDidDisappear
)를 보낼 필요가있는 두 개의 하위보기 제어기가 있습니다 (하나는 왼쪽 패널 용이고 다른 하나는 세부 오른쪽 패널 용입니다).
사용자 지정 SplitViewController가 메시지를 받으면 잘 전달합니다. 그러나 두 하위 뷰 컨트롤러 중 하나가 새 메시지 컨트롤러로 교체 될 때 해당 메시지를받을시기를 결정하는 데 어려움을 겪고 있습니다. 새 UIViewController
뷰를 제대로 추가하고 있지만 메시지가 적절하게 호출되지 않습니다.
내 초기 접근 방식은 viewWillDisappear
UIViewController
약이 출시와 새로운 UIViewController
세트에 viewWillAppear
할 호출 하위 viewControllers의 세터에서 그들을 호출했지만이 하나 viewDidLoad
전에 실행되고, 따라서 나는 가정 잘못된 것입니다.
UIView에 메서드를 사용하면 해당 UIViewController
에 viewDidAppear
을 호출 할 때 유용하다는 것을 알 수 있습니다.
은 어떤 도움이 많이 주시면 감사하겠습니다!
나는 때때로 -viewWillAppear 것으로 나타났습니다 VC의 뷰를 계층 구조에 추가/제거합니다. 분명히 이것은 사용자 정의 뷰 전환을 구현하기 위해 뷰 계층 구조 위로 올라 갔지만 염두에 두어야 할 가치가 있습니다. 또한 UIViewControllerWrapperView라는 뭔가가 있다고 생각합니다. –
기본 UIViewController는이 작업을 수행하지 않지만 UINavigationController, UITabBarController 등의 계층 구조 유형은이 작업을 수행합니다. –
David Liu에게 감사드립니다. 또한 사용자 정의 UIView의 (void) didAddSubview : (UIView *) 하위보기가 매우 유용 할 수 있으므로 사용자 정의 UISplitViewController가 sub-UIViewController를 해당 viewDidAppear에 알릴 수 있습니다. – monchote