Comportamiento extraño con el button cerca del desplegable del centro de notifications en el iPad

Tengo un UIButton (el "button de retroceso") en la esquina superior izquierda de una aplicación de iPad que descarta un controller de vista. Descubrí que si toca este button un poco demasiado alto, puede activar el button y comenzar a bajar el panel de notifications al mismo time. Cuando esto sucede, mi -viewWillDisappear se ejecuta y detiene las animaciones en la vista, pero la vista no se descarta. Por supuesto, el panel de notifications no desciende por completo, por lo que el resultado neto parece que mis animaciones se bloquearon y que el button de retroceso también falló.

La solución obvia sería simplemente mover el button hacia abajo un poco, pero como eso no es deseable por razones de layout, tengo curiosidad si:

  1. Cualquiera ha visto este comportamiento antes.
  2. Si es un comportamiento bien definido, y si es así, ¿dónde lo describe Apple?
  3. ¿Hay alguna solución conocida?

EDITAR: en realidad parece ser un problema menor después de todo. Resulta que es mi -applicationWillResignActive que se -viewWillDisappear llamada, no -viewWillDisappear . Todavía se ve mal, pero al less el comportamiento está bien definido. No estoy activando el button de mi casa en absoluto, simplemente bajando el panel de notifications.

He hecho un UIViewController que tiene una animation progtwigda (como un banner publicitario) y al cerrar el panel de notifications no se detiene hasta que el panel se haya revelado completamente.

Tal vez tenga que lidiar con sus animaciones en -applicationWillResignActive: y -applicationDidBecomeActive: como hacer una pausa y reanudarlas.

Puede recibir esas notifications directamente en su UIViewController (en lugar de tratar con ellas en su AppDelegate) agregando el siguiente código a su -viewDidLoad :

 // Add observers [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(pauseAnimations:) name: UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(resumeAnimations:) name:UIApplicationDidBecomeActiveNotification object:nil];