然后我称这种方法我想要segue。是不是?
- (void)showMapViewController {
[self performSegueWithIdentifier:@"MapViewController" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"MapViewController"])
{
UINavigationController *navigationController = segue.sourceViewController;
LoginViewController *loginViewController = [[navigationController viewControllers] objectAtIndex:0];
[loginViewController performSegueWithIdentifier:@"MapViewController" sender:self];
}
}
答案 0 :(得分:0)
您必须在故事板中创建segue并提供唯一标识符。如果您在某些按钮操作上设置此功能,则可以自动执行,例如如果你在按钮动作上创建一个segue想要推动导航控制器。当按下按钮时,segue将执行自动覆盖。在这种情况下,如果你想做一些自定义编码来设置一些属性等,那么你应该实现这个委托方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"segueIdentifier"])
{
// Here you can get source and destination view controllers and can perform some custom tasks.
}
}
如果您愿意,也可以按代码执行segue,因为您必须调用此方法。
[self performSegueWithIdentifier:@"segueidentifer" sender:self];
为此,您必须通过clt +从一个视图控制器拖动到其他(源 - >目的地)来创建故事板中的segue并给出标识符。