如何在没有NavigationController的故事板中执行动画自定义segue?

时间:2012-02-21 18:55:13

标签: animation xcode4 ios5 storyboard segue

我有必要在执行segue之前设置一些参数,所以我必须使用CUSTOM SEGUE,对吗? 在这种情况下,我会进行从屏幕到另一个屏幕的过渡动画,但我没有NavigationController(我不想插入一个!)

是否可以不使用NavigationController并使用自定义segue更改视图?

另外,有可能为按钮设置动作并执行一些代码行来执行segue? 我找到了这个解决方案:

  • (IBAction)showDetailView:(id)sender {

    //代码

    .....

    [self performSegueWithIdentifier:@“ShowDetail”sender:sender];

}

但它需要导航控制器......

谢谢大家,抱歉我的坏人!

1 个答案:

答案 0 :(得分:0)

当您在Storyboard中创建segue时,选择“modal”而不是“push”(自定义指的是我认为您不需要的第三种类型)。选择segue并使用属性检查器为其命名。在我的代码示例中,我使用名称“editTitleBlock”。

要在目标视图控制器(将是模态视图控制器)上设置属性,请将prepareForSegueMethod放在第一个视图控制器中,如下所示:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"editTitleBlock"])  {
        [[segue destinationViewController] setTitleFieldString: @""];
        [[segue destinationViewController] setAltitudeFieldString:currentLocation.localizedAltitudeString];
        [[segue destinationViewController] setLocationFieldString:currentLocation.localizedCoordinateString];
        [[segue destinationViewController] setAuthorString:userName];

    if ([[segue identifier] isEqualToString:@"cancel"])  {
        // do nothing special
    }
}

返回第一个视图控制器使用:

[self dismissModalViewController animated:YES];
相关问题