Search code examples
iphoneioscocoa-touchios5ios6

Strange warning dismissing modal view controller


I'm working on iOS 6. My application has a standard navigation controller with embedded a CustomViewController. In this controller I create a modal view like this:

-(IBAction)presentModalList:(id)sender {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    StationsListViewController *list = [storyboard instantiateViewControllerWithIdentifier:@"StationsListViewController"];
    [list setStationsData: [self.stationsData allValues]];
    [self presentModalViewController:list animated:YES];
}

The modal controller show perfectly but dismissing generates a warning. The dismiss method in this controller is:

-(IBAction)backToMap
{
    [self dismissModalViewControllerAnimated:YES];
}

The warning generated is Warning:

Attempt to dismiss from view controller < UINavigationController: 0x1ed91620 > while a presentation or dismiss is in progress!

Any clues about that?

Thanks


Solution

  • Targeting iOS6, this is what worked for me:

    if (![self.presentedViewController isBeingDismissed]) 
        [self.presentedViewController dismissViewControllerAnimated:YES
                                                         completion:nil];