2011-12-24 15 views
5

Tengo que mostrar un popOver dentro del lado izquierdo de un splitController, inicializo el popOver con un navigationController. Pero cuando muestro la caída de mi aplicación popOver.UIPopOverController dentro de 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]; 

Éste es mi código. ¿Algunas ideas?

EDIT: Crash incluso si fijo sólo viewController en lugar de SplitController:/Y con un ViewController vacío:/

+3

Podría publicar el registro de bloqueo, tal vez con NSZombieEnabled http://stackoverflow.com/questions/2190227/how-do-i-set-nszombieenabled-in-xcode-4 – Ecarrion

+0

Ya configuré NSZombie pero sin registro:/ –

+0

También está perdiendo memoria. Deberías liberar todas las configuraciones, navegación y popOver. –

Respuesta

2

(Posiblemente duplicado de Error using UIPopoverController.)

En resumen, es necesario conservar el UIPopoverController de alguna manera. Ya sea definiéndole una propiedad o administrando el recuento de ref manualmente. Con ARC, este último no es una opción, por lo que debe almacenar la referencia.

0

Creo que necesita una variable de instancia para mantener la popoverController. De lo contrario, después de que el método que contiene el código que usted mostró termine, nada retendrá su popover. A diferencia de cuando agrega una subvista a una vista, la vista retendría la subvista. Lo mismo no sucede con los popovers.

Cuestiones relacionadas