各位,求解ipad开发中的一个问题,问题是这样的:我的项目支持横竖屏,进入应用程序时做了一个动画效果,因为同样的动画,横竖屏坐标尺寸是不同的,当ipad处于横屏动画状态时,用户旋转屏幕处于竖屏状态,这个时候仍然做的是横屏动画效果,这是个很大的bug,不知道有没有遇到过这种情况的,求指点一下。我的个人想法是,能不能在动画期间,给屏幕控制器发送一个锁定屏幕的消息,等动画做完之后再发一个支持旋转的消息,但问题是,就我知道的,程序在加载中调用shouldAutorotateToInterfaceOrientation函数返回YES时就已经确定了是否支持横竖屏幕,各方求解,先行谢过! |
|
5分 |
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
一开始设置屏幕不能选择。动画完成之后用上面的方式设置回来可以旋转 |
5分 |
这招可行吧,测试测试 |
但问题是,我如果一开始就设置屏幕不能选择,那程序默认只做横屏动画或只做竖屏动画,就不知道做哪个动画了,我需要根据ipad方位确定做哪个动画,然后再锁定屏幕,动画做完之后再设置回来。求深解! |
|
但问题是,我如果一开始就设置屏幕不能选择,那程序默认只做横屏动画或只做竖屏动画,就不知道做哪个动画了,我需要根据ipad方位确定做哪个动画,然后再锁定屏幕,动画做完之后再设置回来。求深解! |
|
但问题是,我如果一开始就设置屏幕不能选择,那程序默认只做横屏动画或只做竖屏动画,就不知道做哪个动画了,我需要根据ipad方位确定做哪个动画,然后再锁定屏幕,动画做完之后再设置回来。求深解! |
|
5分 |
你的动画用线程吧 哪里需要旋转和不旋转自己用刚刚的方式设定 |
5分 |
播放动画前先获取UIInterfaceOrientation orientation= [[UIApplication sharedApplication].statusBarOrientation; 根据orientation的方向来判断是要播横屏还是竖屏;然后播放的时候锁定旋转~播放完毕解锁旋转~
|
20分 |
用个变量不就搞定了嘛?
在shouldAutorotateToInterfaceOrientation中 if (state == welcome) { if(竖直) return YES; } else if (state == normal) { |
他的意思是做动画的时候将屏幕旋转锁定,做完之后再可以旋转
|
|
做个动画事件,根据具体的orientation来处理动画,动画事件里面一开始对动画初始化,包括frame,timer等,这样保证用户的实时要求
|