0

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

в 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», причина: «Применение пыталось представить модально активный контроллер.

Любая идея?

+1

Вы представили paletteViewController два раза подряд без увольнения? Вы можете протестировать с помощью «if (self == self.paletteViewController.presentingViewController) ...» – GoZoner

+0

Вы были правы, хороший снимок GoZoner! – Denis

ответ

0

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