Xcode iPAD上的游戏中心视图(灰色屏幕)
我使用此代码向领导板显示:Xcode iPAD上的游戏中心视图(灰色屏幕),xcode,view,leaderboard,Xcode,View,Leaderboard,我使用此代码向领导板显示: -(void)viewscores:(SPEvent*)event { tempVC = [[UIViewController alloc] init]; GKLeaderboardViewController* leaderboardController = [[[GKLeaderboardViewController alloc] init] autorelease]; if (leaderboardController !
-(void)viewscores:(SPEvent*)event
{
tempVC = [[UIViewController alloc] init];
GKLeaderboardViewController* leaderboardController = [[[GKLeaderboardViewController alloc] init] autorelease];
if (leaderboardController != nil)
{
leaderboardController.leaderboardDelegate = self;
UIView *sparrowView = self.stage.nativeView; // take care that self.stage != nil!
[sparrowView addSubview:tempVC.view];
//[tempVC.view addSubview:leaderboardController.view];
[tempVC presentModalViewController:leaderboardController animated:YES];
}
}
- (void)animationDidStop:(NSString*)animationID finished:(BOOL)finished context:(void *)context
{
for(UIView *subview in [tempVC.view subviews]) {
[subview removeFromSuperview];
}
[tempVC.view.superview removeFromSuperview];
[tempVC release];
}
-(void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController*)viewController
{
CGRect frame = viewController.view.frame;
// [tempVC dismissModalViewControllerAnimated:YES];
[UIView beginAnimations:@"curldoup" context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:.5];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
// [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.stage.nativeView cache:YES];
frame.origin.y = 420;
viewController.view.frame = frame;
[UIView commitAnimations];
//[viewController.view removeFromSuperview];
当我在引导板上单击“完成”时,背景会变成灰色,应用程序会变得一团糟
我非常肯定这是因为:
frame.origin.y = 420;
因为iPhone的屏幕是420。
有人能帮我打正确的号码吗
任何想法都很感激,非常感谢 您应该这样呈现它:
- (void)showGCLeaderboard {
leaderboardController = [[GKLeaderboardViewController alloc] init];
if (leaderboardController != NULL)
{
leaderboardController.category = kLeaderboardID;
leaderboardController.leaderboardDelegate = self;
[self presentModalViewController:leaderboardController animated:YES];
}
}
因此,只要这样做就可以忽略它:
- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController {
[self dismissModalViewControllerAnimated:YES];
[viewController release];
}
或
由于您正试图在iPad上实现这一点,您可以通过使用UIPopover对其产生兴趣,但这取决于您自己,也不是必需的。既然您正在使用presentModalViewController来呈现该视图,为什么不干脆解散ModalViewController呢?那么我应该将代码放在哪里呢?在您的-(无效)排行榜ViewControllerdFinish中:(GK排行榜viewController*)viewController{method你能告诉我需要添加的全部代码吗?我不明白你想说什么,请让它更容易理解,比如把代码放在方法之后。谢谢下面我的回答。未声明的代码…leaderboardController和其他。你能看到我关于我使用的cod的帖子,并看到我需要添加的正确代码吗?谢谢s、 将此添加到您的.h:gk LeaderBoardViewController*leaderboardController;使用未声明的标识符:leaderboardController.category=kLeaderboardID;leaderboardController.leaderboardDelegate=self#define kLeaderboardID@“001”然后在你的.h.中添加GK LeaderboardViewControllerDelegate。但是老实说,你应该能够自己解决这些问题,因为它们都很琐碎。你熟悉Objective-C的工作原理吗?如果这段代码有帮助,请打勾直到它变绿,如果它真的对你有帮助,请投票!