我正在开发一个应用,当我按下ViewController
中的“确定”按钮时,我需要显示UIAlertView
。我怎么能这样做?
我在这里找到了这个解决方案:iOS Dev: Segue by pressing a button in an Alert?,但它没有用。
xCode说:
the method: presentModalViewController is deprecated
我在网上发现我应该使用方法presentViewController
。
我试图这样做,但它显示我没有任何互动的黑屏,有什么不对? 我在这里粘贴我的代码,也许你可以帮助我。
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex != alertView.cancelButtonIndex)
{
PromoViewController *pvc = [[PromoViewController alloc] init];
[self presentViewController:pvc animated:YES completion:nil];
}
}
谢谢
答案 0 :(得分:2)
为了以编程方式使用segue,您需要调用performSegueWithIdentifier
。
首先确保你的segue在故事板中有一个标识符。
然后使用此代码......
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex != alertView.cancelButtonIndex)
{
[self performSegueWithIdentifier:@"YourSegueIdentifier"];
}
}
这将做你想要的。
答案 1 :(得分:0)
另一种方法是获取实例并以编程方式执行
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle: nil];
PromoViewController *controller = (PromoViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"<Controller ID>"];
[self presentViewController:controller animated:YES completion:nil];
注意控制器ID是您通过属性检查器
为场景设置的故事板ID答案 2 :(得分:0)
请参阅:Make button it UIAlertView perform Segue
它将向您展示如何创建手动segue并调用它。