我有一个使用 Storyboard 的应用程序。在视图上有一个 AlertViewDialog。
当用户单击第一个按钮(“是”)时,如何在 Storyboard 上打开另一个视图?
我有一个使用 Storyboard 的应用程序。在视图上有一个 AlertViewDialog。
当用户单击第一个按钮(“是”)时,如何在 Storyboard 上打开另一个视图?
我是这可以帮助:
创建 viewController 的 SecondViewController 类 (.h &.m) 子类。
然后从警报视图代码(正如您在单击“是”时所说的那样)
粘贴下面提到的代码
SecondViewController *svc =[self.storyboard instantiateViewControllerWithIdentifier:@"vinay"];
[svc setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentViewController:svc animated:YES completion:nil];
如果出现任何问题,请告诉我。
愿这有帮助:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
ClassNameViewController *viewController = (ClassNameViewController *)[storyboard instantiateViewControllerWithIdentifier:@"viewIdentifierOnStoryboard"];
[self presentModalViewController:viewController animated:NO];
您需要做的第一件事是将UIAlertView
委托设置为添加UIAlertViewDelegate
到您的@interface
,所以它看起来像
@interface myClass : super <UIAlertViewDelegate>
// super could be anything like `UIViewController`, etc
@end
然后@implementation
你可以添加类似的东西
@implementation myClass
........... Some code
- (IBAction)someActionMethod:(id)sender
{
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:nil
message:@"Would you like to move on?"
delegate:self
cancelButtonTitle:@"No"
otherButtonTitles:@"Yes", nil];
[myAlertView show];
// [myAlertView release]; Only if you aren't using ARC
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
switch(buttonIndex) {
case 1:
SecondViewController *svc =[self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
[svc setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
// [self presentViewController:svc animated:YES]; // Deprecated in iOS 6.0
[self presentViewController:svc animated:YES completion:nil]; // Introduced in iOS 5.0
break;
default:
break;
}
}
@end
请记住在情节提要中设置唯一标识符。您可以通过转到您.storyboard
的身份检查器(选择第三个)来执行此操作,您可以设置Storyboard ID
this is what you will need to match in instantiateViewControllerWithIdentifier
so in the case in above it would be "secondViewController"
. 就是这么简单。
完成后请记住关闭此视图,您将需要使用
[self dismissModalViewControllerAnimated:YES];
以上内容实际上已在 iOS 6.0 中被弃用,但您可以使用
[self dismissModalViewControllerAnimated:YES completion:nil];
除了在最后添加一个完成块之外,它做同样的事情。
希望这可以帮助。