我在iOS上的应用程序中使用flash CS5.5。我想让ipad / iphone停止制作orientationChange的动画并直接更改它,这可能吗?
我认为这是一个解决方案,但它没有帮助AS3 - iOS force landscape mode only?。
答案 0 :(得分:3)
如果您尝试设置Stage.autoOrients = false;
,flash.events.StageOrientationEvent.ORIENTATION_CHANGE
将永远不会触发。这对于完全禁用方向更改很有帮助,但不适用于您的问题。虽然我自己没有尝试过,但你可能会听到这个事件:
flash.events.StageOrientationEvent.ORIENTATION_CHANGING
您可以在该侦听器中调用event.preventDefault()
来停止实际旋转。然后您可以自己手动设置:
Stage.setOrientation(StageOrientation.ROTATED_RIGHT);
答案 1 :(得分:2)
您是否尝试过SO答案:Disable orienation change rotation animation?
来自视频控制器的答案中的代码是闪存CS5.5或air 3.5的主页:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[UIView setAnimationsEnabled:YES];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
[UIView setAnimationsEnabled:NO];
return TRUE; /* Your original orientation booleans, in case you prevent one of the orientations */
}
该代码使用可以覆盖的本机iOS UIViewController
函数。你必须有一个原生的iOS目标C类覆盖UIViewController
,然后你可以插入上面的代码。当设备作为视图控制器生命周期的一部分旋转到这些调用时进行调用。