首页 文章

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

提问于
浏览
0

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

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

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

  • (IBAction)showDetailView:(id)sender {

//码

.....

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

}

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

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

1 回答

  • 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];
    

相关问题