0

我在使用 cocos2d 和 cocosbuilder 时遇到了景观旋转问题。

我的 cocosbuilder 项目中有iPhone LandscapeiPhone5 Landscape而在 xcode支持的界面方向上,我只选择了景观。

在我的 appDelegate.mi 上有:

-(NSUInteger)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskLandscape;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

这应该很简单,但是我在这里很难过,真的不想在不使用 cocosbuilder 的情况下再次重新组装我的游戏

4

1 回答 1

1

如果您支持目前最常用的最新版本的 iOS,那么您应该使用这些方法来检查方向

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeLeft;
}


-(NSUInteger)supportedInterfaceOrientations

{
       return UIInterfaceOrientationMaskLandscape;
}


-(BOOL)shouldAutorotate {


        return YES;    
}

shouldAutorotateToInterfaceOrientation在 iOS6 中已弃用,而不是使用此方法,而是使用我提供的上述方法并阅读苹果提供的UIViewController文档,其中清楚地写明了您可以使用哪些方法以及用于什么目的。以下是您可能会使用的一些方法

willRotateToInterfaceOrientation:duration: 
willAnimateRotationToInterfaceOrientation:duration:
and didRotateFromInterfaceOrientation:
于 2013-03-14T15:27:13.167 回答