У меня есть базовый модульный контроллер. я затем создать 2-ым с:Dismiss 2 modal view controllers
FieldReportViewController *fieldReport = [self.storyboard instantiateViewControllerWithIdentifier:@"fieldReportView"];
[self presentModalViewController:fieldReport animated:YES];
оттуда, я называю 3-й контроллер представления с:
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
}
в среднем контроллере/с видом, я добавить наблюдатель в viewDidLoad:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(dismissModals:)
name:@"CloseAllModalViews"
object:nil];
и метод:
-(void) dismissModals:(id)sender
{
[self dismissModalViewControllerAnimated:NO];
}
при нажатии, он ничего не делает. он не отклоняет какие-либо мнения.
любые идеи, как я могу заставить это работать?
РЕДАКТИРОВАТЬ: выяснил, почему он рушится; я забыл, что добавил в мою игру сингл. это приводит к проблемам с памятью и вызывает крушение.
РЕДАКТИРОВАТЬ 2: это приведет к отключению обоих контроллеров представления к контроллеру базы/первого вида. однако, это не дает мне никаких анимаций. я могу уволить текущий VC без анимации и отклонить средний VC с анимацией, но я вижу среднюю VC кратко перед переходом. я предпочел бы, если возможно, анимацию от текущего VC до базового VC.
нет намеков на консоли при запуске на устройстве? Любые предупреждения из xcode при его создании? –
nope, нет информации об аварии в консоли, когда я запускаю ее на ipad. я заметил, что xcode 4.2 дает намного меньше ресурсов, чем предыдущие версии при сбоях. =/ – Padin215
Если ваш первый диспетчер представлений был навигационным контроллером, вы можете использовать 'popToRootViewControllerAnimated:'. Как изменить его? –