0

出于某种原因,我不能使用任何自动功能来处理设备上的旋转(如 shouldAutorotateToInterfaceOrientation)。我总是不得不使用这个手动完成:

SOMETHING.view.transform = CGAffineTransformMakeRotation( angle * M_PI );

我真的不介意——我什至喜欢手动旋转所有东西。这工作正常,除了游戏中心。

我对旋转媒人没有任何问题——你可以在其中寻找人玩的窗口。

我会提到这一点以防万一,因为我在这里看到过类似的问题——但这不是我遇到的问题:

GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease];    
    mmvc.matchmakerDelegate = self;

    [presentingViewController presentModalViewController:mmvc animated:YES];
    mmvc.view.transform = CGAffineTransformMakeRotation( angle * M_PI ); 

这可以完美地旋转 Game Center 的媒人,但是我不知道如何为媒人之前的实际“登录”屏幕做同样的事情。我没有创建视图控制器,调用“身份验证”功能时,一切似乎都是自动完成的。而且由于它是自动完成的,我不知道如何控制结果视图。

- (void)authenticateLocalUser { 

if (!gameCenterAvailable) return;

NSLog(@"Authenticating local user...");
if ([GKLocalPlayer localPlayer].authenticated == NO) {     

     [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) {

     if ([GKLocalPlayer localPlayer].isAuthenticated)

     {

         // Perform additional tasks for the authenticated player.
          [[GCHelper sharedInstance] findMatchWithMinPlayers:2 maxPlayers:2 viewController:nil];

     }

     }];  
} else {
    NSLog(@"Already authenticated!");
}

}

在这一点上,我已经得到了一个“登录”屏幕,我不知道如何控制它。

如何在不使用任何自动功能的情况下以编程方式更改该屏幕(以及输入 Apple ID 和密码的下一个屏幕)的方向?

4

1 回答 1

0

最新版本的 SDL 2.0 大大改进了方向支持。我在这里将它与 Game Center 应用程序一起使用,该应用程序可以显示并旋转到任何方向,并且运行良好。

http://www.libsdl.org/tmp/SDL-2.0.zip

于 2012-10-27T10:40:16.123 回答