我收到此错误。我不知道为什么要调用它,谷歌并没有真正帮助。有什么建议吗?
-[UIWindow endDisablingInterfaceAutorotation] called on <UIWindow: 0x4e0ec50; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x4e0f9e0>> without matching -beginDisablingInterfaceAutorotation. Ignoring.
答案 0 :(得分:7)
我最近遇到了同样的问题。事实证明我偶然两次显示相同的UIActionSheet。例如
[actionSheet showInView:aView];
... more code ...
// WOOPS! I already did this
[actionSheet showInView:aView];
当UIActionSheet被解雇时(大约第12次,可能是-beginDisablingInterfaceAutorotation堆栈深度),它导致了错误。删除对-showInView的冗余调用:修复了问题。
答案 1 :(得分:5)
使用UIViewController
课程执行自定义UIViewControllerAnimatedTransitioning
演示文稿时,我遇到了类似的问题。对我来说,打印输出如下所示:
-[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.
我发现错误是由于调用transitionContext.completeTransition(true)
两次(一次在animateTransition(_:)
中,另一次在CAAnimation
委托animationDidStop(_:flag:)
方法中)引起的。你可能想检查一下你是不是在做类似的事情。
答案 2 :(得分:3)
在动画选项中添加UIViewAnimationOptionLayoutSubviews解决了我的问题。
答案 3 :(得分:-1)
我无缘无故地遇到了类似的问题。我的版本没有任何改变。我所要做的就是从我的测试设备中删除我的应用程序,重建并重新部署,这个问题就解决了。值得一试!
答案 4 :(得分:-6)
看起来你必须先打电话给-beginDisablingInterfaceAutorotation
而你却没有这样做。