Xcode iOS6的定位问题

Xcode iOS6的定位问题,xcode,cocos2d-iphone,uiinterfaceorientation,Xcode,Cocos2d Iphone,Uiinterfaceorientation,我的应用程序在iOS 6上的定位有问题。尽管它被设置为“横向(右主按钮)”和“横向(左主按钮)”,但它显示为扭曲应用程序的“肖像” 我一直在尝试使用RootViewController.m,但运气不好 这是密码,有人能帮我吗 @implementation RootViewController /* // The designated initializer. Override if you create the controller programmatically

我的应用程序在iOS 6上的定位有问题。尽管它被设置为“横向(右主按钮)”和“横向(左主按钮)”,但它显示为扭曲应用程序的“肖像”

我一直在尝试使用RootViewController.m,但运气不好

这是密码,有人能帮我吗

    @implementation RootViewController

    /*
    // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
// Custom initialization
}
return self;
    }
    */

    /*
    // Implement loadView to create a view hierarchy programmatically, without using a nib.
    - (void)loadView {
    }
    */


    // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
    - (void)viewDidLoad {
[super viewDidLoad];
    }



    // Override to allow orientations other than the default portrait orientation.
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

//
// There are 2 ways to support auto-rotation:
//  - The OpenGL / cocos2d way
//     - Faster, but doesn't rotate the UIKit objects
//  - The ViewController way
//    - A bit slower, but the UiKit objects are placed in the right place
//

    #if GAME_AUTOROTATION==kGameAutorotationNone
//
// EAGLView won't be autorotated.
// Since this method should return YES in at least 1 orientation, 
// we return YES only in the Portrait orientation
//
return ( interfaceOrientation == UIInterfaceOrientationPortrait );

    #elif GAME_AUTOROTATION==kGameAutorotationCCDirector
//
// EAGLView will be rotated by cocos2d
//
// Sample: Autorotate only in landscape mode
//
if( interfaceOrientation == UIInterfaceOrientationLandscapeLeft ) {
    [[CCDirector sharedDirector] setDeviceOrientation: kCCDeviceOrientationLandscapeRight];
} else if( interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
    [[CCDirector sharedDirector] setDeviceOrientation: kCCDeviceOrientationLandscapeLeft];
}

// Since this method should return YES in at least 1 orientation, 
// we return YES only in the Portrait orientation
return ( interfaceOrientation == UIInterfaceOrientationPortrait );

    #elif GAME_AUTOROTATION == kGameAutorotationUIViewController
//
// EAGLView will be rotated by the UIViewController
//
// Sample: Autorotate only in landscpe mode
//
// return YES for the supported orientations

return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );

    #else
    #error Unknown value in GAME_AUTOROTATION

    #endif // GAME_AUTOROTATION


// Shold not happen
return NO;
    }

    //
    // This callback only will be called when GAME_AUTOROTATION == kGameAutorotationUIViewController
    //
    #if GAME_AUTOROTATION == kGameAutorotationUIViewController
    -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
    {
//
// Assuming that the main window has the size of the screen
// BUG: This won't work if the EAGLView is not fullscreen
///
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGRect rect = CGRectZero;


if(toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)      
    rect = screenRect;

else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
    rect.size = CGSizeMake( screenRect.size.height, screenRect.size.width );

CCDirector *director = [CCDirector sharedDirector];
EAGLView *glView = [director openGLView];
float contentScaleFactor = [director contentScaleFactor];

if( contentScaleFactor != 1 ) {
    rect.size.width *= contentScaleFactor;
    rect.size.height *= contentScaleFactor;
}
glView.frame = rect;
    }
    #endif // GAME_AUTOROTATION == kGameAutorotationUIViewController


    - (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

   // Release any cached data, images, etc that aren't in use.
   }

   - (void)viewDidUnload {
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
   }


 - (void)dealloc {
[super dealloc];
 }



 @end

请帮帮我!谢谢

应自动旋转指针界面方向
未在iOS 6中使用;请参见页面顶部的“处理视图旋转”。没有进一步的工作,你只能得到你在项目设置中指定的任何东西

在iOS 5及更早版本中,您可以:

return ( interfaceOrientation == UIInterfaceOrientationPortrait );

因此,在这些系统上,您明确地将此视图控制器限制为纵向。

您需要在AppDelegate.mm文件中检查这一点。检查是否存在以下代码行

// Supported orientations: Landscape. Customize it for your own needs
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

它不存在,只是添加了它,但我仍然得到相同的问题。