1

私のアプリケーションは横向きのみをサポートしています。iOS6 の iPhone でのみ、Game Center Leaderboard の向きが正しくなく、部分的に画面からはみ出すという問題があります。添付資料参照:ここに画像の説明を入力

次のように FPPopover を使用して、View Controller からモーダル UITableView を呼び出しています。

HighScoresController *controller = [[HighScoresController alloc] init];
FPPopoverController *popover = [[FPPopoverController alloc] initWithViewController:controller];
popover.arrowDirection = FPPopoverNoArrow;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    popover.contentSize = CGSizeMake(350,450);
else
    popover.contentSize = CGSizeMake(350,350);
popover.delegate = self;
popover.title = @"High Scores";
[popover presentPopoverFromPoint: CGPointMake(mainView.center.x, self.view.center.y + 50)];

次に、このテーブルの行の 1 つがクリックされると、Game Center の適切なリーダーボードが呼び出されます。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// authenticate into game center
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error){
    if (error ==nil) {
        GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
        if (leaderboardController != nil)
        {
            leaderboardController.leaderboardDelegate = self;
            leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime;
            leaderboardController.category = [leaderboardIDs objectAtIndex:[indexPath row]];
            [self presentViewController: leaderboardController animated: YES completion:nil];
        }
    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Game Center"
                                                        message:@"You need to sign into Game Center in order to view high scores" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
        [alert show];
    }

}];
}

この問題を解決する方法についてのアイデアはありますか? iOS 5 では iPhone で問題なく、iPad では iOS 5 と 6 の両方で問題ありません。

ありがとう!

4

0 に答える 0