2010-03-03 18 views
6

He recibido este mensaje de error. No tengo idea de por qué se llamaría, y Google realmente no me ayudó. ¿Alguna sugerencia?Error desconocido [UIWindow endDisablingInterfaceAutorotation]

-[UIWindow endDisablingInterfaceAutorotation] called on <UIWindow: 0x4e0ec50; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x4e0f9e0>> without matching -beginDisablingInterfaceAutorotation. Ignoring. 

Respuesta

-5

Parece que usted tiene que llamar -beginDisablingInterfaceAutorotation primero y que no está haciendo eso.

+0

No llamé a este método para empezar, ya he leído que primero se debe llamar a beginMethod, pero es solo cuando se llama al final y no lo hice, sin embargo rastreé la parte del código que lo causó, [self showCompra: compra animada: SÍ]; la animación debe establecerse en NO. La cosa es que, cuando escribí esto por primera vez, no arrojó un error, hasta que cambié un código en los métodos tableView, necesitaba usar una instrucción switch debido a varias secciones, antes solo había una sección, todavía estoy investigando. – iAm

7

Recientemente tuve el mismo problema. Resultó que estaba mostrando accidentalmente el mismo UIActionSheet dos veces. p.ej.

[actionSheet showInView:aView]; 

... more code ... 

// WOOPS! I already did this 
[actionSheet showInView:aView]; 

Cuando el UIActionSheet se desestimó (por alrededor de la hora 12, probablemente la profundidad de la pila -beginDisablingInterfaceAutorotation) que provocó el error. Eliminar la llamada redundante a -showInView: solucionó el problema.

+1

Tuve el mismo problema con una causa de smiler, estaba animando una UICollectionViewCell y se estaba recargando a la mitad. – BooRanger

3

Agregando UIViewAnimationOptionLayoutSubviews en las opciones de animación resolvió mi problema.

+1

Me lo arreglaron. – mostruash

-1

Me encontré con un problema similar sin ningún motivo. Nada ha cambiado en mi construcción. Todo lo que tuve que hacer fue eliminar mi aplicación de mi dispositivo de prueba, reconstruir y volver a desplegar, y este problema fue resuelto. ¡Merece un intento!

5

Tuve un problema similar al realizar una presentación personalizada UIViewController utilizando una clase UIViewControllerAnimatedTransitioning. Para mí, las impresiones se veía como la siguiente:

-[UIApplication endIgnoringInteractionEvents] called without matching -beginIgnoringInteractionEvents. Ignoring. 
-[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UIWindow: 0x7f9f83f42db0; frame = (0 0; 375 667); autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9f83f44ed0>; layer = <UIWindowLayer: 0x7f9f83f40ca0>> without matching -beginDisablingInterfaceAutorotation. Ignoring. 
-[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UITextEffectsWindow: 0x7f9f862553a0; frame = (0 0; 375 667); opaque = NO; autoresize = W+H; layer = <UIWindowLayer: 0x7f9f83f9a1e0>> without matching -beginDisablingInterfaceAutorotation. Ignoring. 

descubrí que el error fue causado por llamar transitionContext.completeTransition(true) dos veces (una vez en animateTransition(_:), y otro en un método animationDidStop(_:flag:)CAAnimation delegado). Es posible que desee comprobar que no está haciendo algo similar.

Cuestiones relacionadas