截至目前,我只能这样做:
`UIAlertView* dialog = [[UIAlertView alloc] init];
[dialog setDelegate:self];
[dialog setTitle:@"New Game"];
[dialog setMessage:@"Are you sure you want to start a new game? This will overwrite your current game."];
[dialog addButtonWithTitle:@"Yes"];
[dialog addButtonWithTitle:@"No"];
[dialog show];
[dialog release];
...
- (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex==0) {
gametype = 1;
[[CCDirector sharedDirector] replaceScene:[CCTransitionCrossFade transitionWithDuration:1 scene:[GameScene node]]];
}
}
`
糟糕的是,对话框实际上并没有与应用程序的整个主题混合在一起。
有没有办法可以自定义或创建出现的对话框?
我听说自定义UIAlertView在应用程序商店遭到拒绝方面一直存在争议。我不认为我应该采用这种方法。你有我可以使用的任何建议/代码吗?
PS:我有一个对话框图像,已经完成了是/否按钮。
答案 0 :(得分:1)
如果你已经有一个对话框和YES / NO按钮,那么我只需添加一个sprite图层的对话框,其中YES / NO按钮覆盖为CCMenuItemImage(s)。然后你可以使用no按钮隐藏菜单和对话框的可见性,并使用yes按钮替换场景。
dialogBox = [CCSprite spriteWithFile:@"dialogBox.png"];
CCMenuItemImage *yesButton = [CCMenuItemImage itemFromNormalImage:@"yes.png" selectedImage:@"yes.png" target:self selector:@selector(yesSelector)]
CCMenuItemImage *noButton = [CCMenuItemImage itemFromNormalImage:@"no.png" selectedImage:@"no.png" target:self selector:@selector(noSelector)]
然后在你的noSelector方法中,你可以隐藏对话框,在yesSelector中只需替换场景。