5

Мне нужно показать один popOver в левой части одного splitController, я инициализирую popOver с навигационным контроллером. Но когда я показываю popOver, мое приложение падает.UIPopOverController внутри UISplitViewController

Impostazioni *settings = [[Impostazioni alloc] initWithStyle:UITableViewStyleGrouped]; 
settings.title = NSLocalizedString(@"SETTINGS", nil); 
settings.contentSizeForViewInPopover = kContentSizeOfPopOver; 
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:settings]; 
nav.navigationBar.tintColor = kTintColorNavigationBar; 
nav.contentSizeForViewInPopover = kContentSizeOfPopOver; 
UIPopoverController *popOver = [[UIPopoverController alloc] initWithContentViewController:nav]; 
[popOver presentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 

Это мой код. Есть идеи?

EDIT: сбой даже если я устанавливаю только ViewController вместо SplitController:/А с пустым ViewController:/

+3

Не могли бы вы разместить журнал сбоев, возможно, с NSZombieEnabled http://stackoverflow.com/questions/2190227/how-do-i-set-nszombieenabled-in-xcode-4 – Ecarrion

+0

Я уже установил NSZombie, но no log:/ –

+0

Вы также теряете память. Вы должны выпустить все настройки, nav и popOver. –

ответ

2

(возможно дубликат Error using UIPopoverController.)

Короче говоря, вам нужно сохранить UIPopoverController каким-то образом. Либо определяя свойство для него, либо вручную управляя счетчиком ссылок. С ARC последнее не является вариантом, поэтому вам нужно сохранить ссылку.

0

Я считаю, что вам нужно переменную экземпляра для хранения popoverController. В противном случае после того, как метод, содержащий код, который вы показали, ничего не сохранит, вы сохранили свой popover. В отличие от того, когда вы добавляете subview в представление, которое затем сохраняло бы представление subview. То же самое не происходит для popovers.