Ios 从UIAlertView按钮以编程方式按view?
我会从Ios 从UIAlertView按钮以编程方式按view?,ios,objective-c,uiviewcontroller,uialertview,uialertviewdelegate,Ios,Objective C,Uiviewcontroller,Uialertview,Uialertviewdelegate,我会从UIAlertView按钮打开一个UIViewController,但它不起作用 当用户终止游戏时,我会显示一个带有一些文本和两个按钮的UIAlertView,“Ok”关闭警报,“Score”打开得分页面 这是实际的UIAlertView: UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"YOU WIN!"
UIAlertView
按钮打开一个UIViewController
,但它不起作用
当用户终止游戏时,我会显示一个带有一些文本和两个按钮的UIAlertView
,“Ok”关闭警报,“Score”打开得分页面
这是实际的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,但当然我不能从情节提要中创建一个新的segue,因为我想通过编程方式从警报视图按钮执行segue
希望我已经清楚了,任何帮助都将非常感谢 看起来您正在实例化
ScoreViewController
的一个实例,并将其推到导航控制器上。虽然这是展示另一个控制器的合法方式,但它与执行故事板序列不同
首先,显然,您必须确保在情节提要中有一个连接视图控制器的segue。听起来你已经做到了这一点,所以接下来你要确保segue有一个标识符。选择序列并在属性检查器中设置其标识符。然后在代码中执行segue:
[self performSegueWithIdentifier:@"YourIdentifier" sender:self];
看起来你根本不是在表演一段。以编程方式执行故事板序列的方法是
performsguewithidentifier:sender:
ops对不起,你是对的!我以前试过segue,但没有成功,所以我在谷歌上搜索并找到了“pushViewController:animated:”,然后我忘了更改代码。我将编辑我的问题,但是'PerformsgueWithIdentifier:sender:'使用'Thread 1:signal SIGABRT'使应用程序崩溃'我忘记了“显而易见”的部分!哈哈,非常感谢你的帮助。