0

My iPad application has a SplitViewController, a MasterViewController and a DetailViewController. From the DetailViewController, I need to create a temporary view (managed with a PaletteViewController: UIViewController, and designed in a xib file) that the user can move on the screen to be able to see what content is backwards.

in DetailViewController.m:

@synthesize paletteViewController=_paletteViewController;

(...)

- (IBAction) loadPalette: (id) sender{
    if (_paletteViewController == nil) {
        self.paletteViewController = [[PaletteViewController alloc] init];
    }
    self.paletteViewController.delegate=self;
    [self.paletteViewController setModalPresentationStyle:UIModalPresentationFormSheet];
    [self presentModalViewController:self.paletteViewController animated:YES];

(...)

I get an error message: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller .

Any idea?

Denis
  • 775
  • 7
  • 22
  • 1
    Have you presented the paletteViewController twice in a row w/o having dismissed it? You can test with 'if (self == self.paletteViewController.presentingViewController) ...' – GoZoner May 19 '12 at 04:30
  • you were right, nice shot GoZoner! – Denis May 19 '12 at 12:02

1 Answers1

0

I think you are in your paletteViewController and you are presenting modally paletteViewController over plaetteViewController . how is it possible.you can present paletteViewController over detailview or something(some paarent view).

Abhishek Singh
  • 6,068
  • 1
  • 23
  • 25