tengo mi UIPopoverController con uno mismo como delegado: recibo llamadas cuando toco fuera del controlador de popover, pero cuando me toque en el interior Quiero descartar también, así que uso -dismissPopoverAnimated: pero delegado no se llama en este caso. ¿Es esto normal? ¿Es esto un error o estoy haciendo algo mal?Descartar UIPopoverController con -dismissPopoverAnimated: no se llamará delegate?
newDocPopoverController = [[UIPopoverController alloc] initWithContentViewController:vc];
[newDocPopoverController setPopoverContentSize:CGSizeMake(240, 44*4)];
[newDocPopoverController presentPopoverFromBarButtonItem:sender
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
[newDocPopoverController setDelegate:self];
ACTUALIZACIÓN:
Oh, sin tener en cuenta el origen del problema (si es un fallo, o esto es el comportamiento previsto) llamando al delegado por mí resuelve el problema :)
Cuando el contentViewController Se toca la vista. Llamaré al padre. UIPopoverController delegará una llamada.
if ([parentPopoverController.delegate popoverControllerShouldDismissPopover:parentPopoverController]){
[parentPopoverController dismissPopoverAnimated:YES];
[parentPopoverController.delegate popoverControllerDidDismissPopover:parentPopoverController];
}r];
me encontré con el mismo "problema", gracias por señalar cómo solucionarlo; es decir. descarte el controlador popover y luego llame al método de delegado. – Jack