我会从UIViewController
按钮打开UIAlertView
,但它不起作用。
当用户终止游戏时,我会显示带有一些文字和两个按钮的UIAlertView
:“确定”以解除提醒并“得分”以打开得分页。
这是实际的UIAlertView
:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"YOU WIN!"
message:[NSString stringWithFormat:@"You win a game in %d seconds!",seconds]
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:@"Score", nil];
[alert show];
这是推送视图的代码:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"Score"]){
ScoreViewController *score = [[ScoreViewController alloc]init];
[[self navigationController] pushViewController:score animated:YES];
}
}
我获得的是一个完全黑屏。有人能帮我吗?我无法弄清楚我做错了什么。
PS:ScoreViewController
从根视图中有一个segue但当然我无法从storyboard创建一个新的因为我想从警报视图按钮以编程方式执行segue。
希望我一直很清楚,任何帮助都会非常感激!
答案 0 :(得分:0)
看起来您正在实例化ScoreViewController
的实例并推送到导航控制器上。虽然这是呈现另一个控制器的合法方式,但它与执行Storyboard segue不同。
首先,显然,您必须确保在故事板中连接视图控制器。听起来你已经做到了这一点,所以接下来你要确保segue有一个标识符。选择segue并在“属性”检查器中设置其标识符。然后在代码中执行segue:
[self performSegueWithIdentifier:@"YourIdentifier" sender:self];