Unknown error [UIWindow endDisablingInterfaceAutorotation]

喜夏-厌秋 提交于 2019-11-29 14:34:22

问题


I am receiving this error. I have no clue as to why it would be called, and Google didn't really help. Any suggestions?

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

回答1:


Looks like you have to call -beginDisablingInterfaceAutorotation first and you're not doing that.




回答2:


I recently had the same problem. It turned out that I was accidentally displaying the same UIActionSheet twice. eg.

[actionSheet showInView:aView];

... more code ...

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

When the UIActionSheet gets dismissed (for about the 12th time, probably the -beginDisablingInterfaceAutorotation stack depth) it caused the error. Removing the redundant call to -showInView: fixed the problem.




回答3:


I've had a similar issue when performing a custom UIViewController presentation using a UIViewControllerAnimatedTransitioning class. For me, the printouts looked like the following:

-[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.

I found out that the error was caused by calling transitionContext.completeTransition(true) twice (once in animateTransition(_:), and another in a CAAnimation delegate animationDidStop(_:flag:) method). You might want to check that you aren't doing something similar.




回答4:


Adding UIViewAnimationOptionLayoutSubviews into the animation options solved my problem.




回答5:


I ran into a similar issue for no reason. Nothing had changed in my build. All I had to do was remove my application from my testing device, rebuild and redeploy and this issue was solved. Worth a shot!



来源:https://stackoverflow.com/questions/2368592/unknown-error-uiwindow-enddisablinginterfaceautorotation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!