我整合Everyplay与我的Cocos2D Game.My游戏只支持横向。 一切顺利的iPad。 但是当我在iPhone(iOS6的)测试,它会抛出异常,因为当我打电话“[Everyplay sharedInstance] showEveryplay]”以下内容:原因:“支持方向已与应用程序中没有共同的方向,并shouldAutorotate将返回YES”
我知道在iOS6.So改变了我加入这个方法取向机制:
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
然后“[[Everyplay sharedInstance] showEveryplay]”的作品无一例外,但我的游戏也支持,我不想为纵向。
我该怎么办,如果我只是想支持横在我的游戏,但让“[Everyplay sharedInstance] showEveryplay]”的作品无一例外?
你有两个选择如何来解决这个问题。
选项1:
添加UISupportedInterfaceOrientations阵列到游戏的Info.plist与项目UIInterfaceOrientationPortrait,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight和UIInterfaceOrientationPortraitUpsideDown。 您可以轻松地从你的项目汇总页面检查所有支持的界面取向或通过手动编辑Info.plist文件做到这一点从Xcode中。
选项2:
下面的方法添加到您的应用程序的AppDelegate.m文件:
// IOS 6
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return UIInterfaceOrientationMaskAll;
}
在这两种情况下,你还必须确保你已经添加了景观仅取向处理代码到你的游戏的主要的UIViewController。
// IOS 5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
// IOS 6
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
在iPhone Everyplay的WebView总是在纵向模式,但在iPad上的网页流量支持。 录音支持这两种模式一样的视频播放器。 我们很可能会在不久的将来更新iPhone分辨率的横向模式太多,但它需要一些重新设计之前,这个任务就完成了。