navigationController의보기 컨트롤러를 수동으로 편집하여 s2를 제거 할 수 있습니다.
self.navigationController.viewControllers
을 사용하면 현재 스택을 가져오고 [self.navigationController setViewControllers:animated:]
을 사용하면 스택을 설정할 수 있습니다. 귀하의 경우에는
, 당신이 수행 할 수 있습니다 :
NSMutableArray *views = [[NSMutableArray alloc] initWithArray:self.navigationController.viewControllers];
[views removeObjectAtIndex:1];
[self.navigationController setViewControllers:views animated:NO];
이 당신의 S3의 ViewController에서, 그것은, 스택에 viewControllers를 얻을 것이다 (인덱스 1에서 개체) 두 번째를 제거 호출하는 경우, 새 스택으로 설정하십시오. animated : NO는 애니메이션없이 즉각적으로 처리합니다.
이 코드 줄을 변경하여 앞에 s2가없는 s3에 도달 한 경우 s3이 나오지 않도록 할 수 있습니다. 또한 s2와 루트 사이에 다른보기가있는 경우 제거 할 아이콘이 objectAtIndex:1
이 아닐 수도 있습니다.