¿Evita la animation en UIPopover descartado al tocar afuera?

Cuando un usuario toca fuera del popover, el despido está animado. ¿Hay alguna manera de establecer que la animation de rechazo NO? He buscado en Google y busqué en Stack extensivamente.

Los documentos para el estado UIPopover:

Cuando se muestra, toca fuera de la window emergente para que el popover se elimine automáticamente. Para permitir al usuario interactuar con las vistas especificadas y no descartar el popover, puede asignar una o más vistas a la propiedad passthroughViews. Los toques dentro de la window emergente no provocan automáticamente que se elimine el popover. Su código de controller de vista y vista debe manejar acciones y events dentro del popover explícitamente y llamar al método dismissPopoverAnimated: según sea necesario.

He implementado el método dismissPopoverAnimated: con NO y funciona muy bien para todos los casos cuando dismissPopoverAnimated: ese método.

El problema es cuando un usuario toca fuera del popover para descartar, dismissPopoverAnimated: no se llama.

toca fuera de la window emergente para que el popover se elimine automáticamente.

Y ese despido está animado. Parece que no hay forma de controlar ese despido. Estoy usando el popover para presentar un selector de color para una aplicación de dibujo. Los toques para dibujar no se registran hasta que el popover termina de animarse. Esto crea un retraso notable ya que no puede dibujar inmediatamente, sino que debe esperar a que se complete la animation.

Pensé que - (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController podría funcionar pero AFAIK no tiene forma de establecer la propiedad de animation en este método. Solo regrese sí o no.

¿Hay algún método diferente que pueda implementar para poder configurar la animation como NO?

En el controller de vista que presenta su UIPopoverController, se ajusta al protocolo UIPopoverControllerDelegate e implementa el siguiente método de delegado. Acabo de probar esto y descarta el popover sin animation.

 - (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController { [self.myPopoverController dismissPopoverAnimated:NO]; return YES; } 

Solo asegúrese de haber configurado el delegado de su controller popover en el controller de vista que lo implementa.