2014-09-25 3 views
2

UINavigationController에 임베드 된 UIViewController 서브 클래 싱 (VC1)이 있습니다. VC1은 다른 UINavigationController에 포함 된 다른 UIViewController 하위 클래스 (VC2)에 모달 분할을 트리거합니다. VC2의 탐색 모음에서 UIBarButtonItem에 의해 트리거 동작 방법의 내부에서, 나는 VC1 내부 언 와인드 방법에 해당알맞은 뷰 컨트롤러가 풀릴 수 없습니다.

[self performSegueWithIdentifier:@"SomeString" sender:nil]

를 호출합니다. 어떤 이유로 인해 전환이 발생하지 않습니다.

XCode 6으로 전환 한 후에 만 ​​문제가되었습니다. XCode 5에서 정상적으로 작동했습니다.

답변

1

이 문제는 순회를 실시하고 있으며 똑같은 문제가 있습니다. 불행히도 이전의 delegate 패턴으로 돌아가는 것 외에는 아직 좋은 해결책이 없습니다.

부모보기 컨트롤러 탐색 컨트롤러를 서브 클래스 화하고 - (UIViewController*)viewControllerForUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender을 구현하면 모달이 실제로 모달을 제공 한보기 컨트롤러 대신 탐색 컨트롤러에서 unwindSegue 메서드를 찾고 있음을 알 수 있습니다.

위의 방법이 컨트롤러 체인의 맨 위로 이동하여 스토리 보드의 초기보기 컨트롤러로 호출 될 때 컨테이너보기 컨트롤러가있는 경우 문제가 더욱 증폭됩니다.

잠재적 인 해결 방법은 여기 Unwind Segue not working in iOS 8이지만 단점과 부작용이 있습니다.