Создание плавающего представления на iPad

В моем приложении для iPad есть SplitViewController, MasterViewController и DetailViewController. Из DetailViewController мне нужно создать временное представление (управляемое с помощью PaletteViewController: UIViewController и разработанное в xib-файле), которое пользователь может перемещать по экрану, чтобы иметь возможность видеть, какой контент находится задом наперед.

в 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];

(...)

Я получаю сообщение об ошибке: Завершение приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «Приложение пыталось модально представить активный контроллер.

Любая идея?


person Denis    schedule 19.05.2012    source источник
comment
Вы представили палитруViewController дважды подряд, не отклонив его? Вы можете проверить с помощью «if (self == self.paletteViewController.presentingViewController)…»   -  person GoZoner    schedule 19.05.2012
comment
ты был прав, хороший выстрел GoZoner!   -  person Denis    schedule 19.05.2012


Ответы (1)


Я думаю, что вы находитесь в своем paletteViewController и модально представляете panelViewController над plaetteViewController . как это возможно. Вы можете представить panelViewController поверх подробностей или чего-то еще (какое-то родительское представление).

person Abhishek Singh    schedule 19.05.2012