세 개의 UIViewController (A, B 및 C라고 부름)가 탐색 컨트롤러에 있습니다. A는 B 또는 C 중 하나로 전환 할 수 있습니다. B는 C로 전환 할 수 있습니다. C가 닫히면 항상 A로 돌아갑니다. B에서 열 경우 C를 닫으면 B가 자동으로 닫힙니다.아이에게 uiviewcontroller ios 후에 segue를 닫으십시오?
이제 시도해 보았습니다. C 닫을 때, B의 반환 방법은 대상 컨트롤러를 해제 불려 가도록 (듯이), 청산 SEGUE를 사용하여 :
- (IBAction)returnFromC:(UIStoryboardSegue*)segue
{
[segue.destinationViewController dismissViewControllerAnimated:YES completion:nil];
}
나는이 방법에 중단 점을 넣어 - 그것은이라고합니다. destinationController가 실제로 B라는 것을 확인했습니다. 그러나 중단 점이 나올 때 C가 계속 표시됩니다. 중단 점에서 재생 한 후 C가 예상대로 종료되지만 B는 계속 표시됩니다.
아이디어가 있으십니까? 미리 감사드립니다.
실제로 이렇게하는 방법은 탐색 컨트롤러의 'viewControllers' 속성의 변경 가능한 복사본을 만들고 컨트롤러를 제거한 다음 배열을 다시 탐색 컨트롤러에 할당하는 것입니다. – mszaro
A에서 unwind 메서드를 사용하라는 제안을 사용했습니다. unwind가 여러 VC에서 작동한다는 것을 이해하지 못했습니다. 빠른 응답에 많은 감사드립니다. – iht
@iht 매우 근사합니다. 해제는 매우 복잡하고 강력하며 구성이 쉽고 unwind 메서드의 배치는 해당 구성에서 가장 간단하고 기본적인 부분입니다. 그것은 그 작은 단서가 당신을 위해 그것을 해결하기에 충분했다는 점이 좋습니다! – matt