Dismiss 2 модальные контроллеры вида
у меня есть базовый модальный контроллер вида. Затем я создаю второй с:
FieldReportViewController *fieldReport = [self.storyboard instantiateViewControllerWithIdentifier:@"fieldReportView"];
[self presentModalViewController:fieldReport animated:YES];
оттуда я вызываю контроллер третьего вида с:
ScoutingReportViewController *scoutingReport = [self.storyboard instantiateViewControllerWithIdentifier:@"ScoutView"];
[self setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentModalViewController:scoutingReport animated:YES];
Теперь я хочу вернуться к первому контроллеру просмотра. я пробовал (это в настоящее время показано представление контроллера):
-(IBAction)doneBtn
{
//[self.parentViewController dismissModalViewControllerAnimated:YES]; //removed
[self dismissModalViewControllerAnimated:NO]; //added
[[NSNotificationCenter defaultCenter] postNotificationName:@"CloseAllModalViews" object:nil userInfo:nil]; //added
}
в контроллере представления middle / s я добавляю наблюдателя в viewDidLoad:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(dismissModals:)
name:@"CloseAllModalViews"
object:nil];
и метод:
-(void) dismissModals:(id)sender
{
[self dismissModalViewControllerAnimated:NO];
}
при нажатии он ничего не делает. это не отклоняет никакие взгляды.
какие-нибудь идеи, как я могу заставить это работать?
РЕДАКТИРОВАТЬ: выяснил, почему это сбой; я забыл, что добавил кнопку «Готово» в IB. это приводило к проблемам с памятью и вызывало сбой.
РЕДАКТИРОВАТЬ 2: это позволит отклонить оба контроллера представления назад к основному / первому контролеру представления это не дает мне никакой анимации, хотя. я могу отклонить текущий VC без анимации и отклонить средний VC с анимацией, но я вижу средний VC незадолго до перехода. Я бы предпочел иметь анимацию от текущего VC до базового VC, если это возможно.