有没有办法在Storyboard中弹出View控制器?

时间:2013-08-06 10:40:05

标签: ios uinavigationcontroller storyboard

我在 storyboard 中有一个应用程序,并通过故事板本身的推送操作与second view controller建立连接(不使用编码)。

如果没有编写任何代码并使用故事板,有没有办法弹出first view controller

注意:通过使用navigation controller我们将有back按钮,但如果在第二个视图控制器中创建了一个按钮,当我们点击该按钮时,我们应该弹出到第一个视图控制器。

4 个答案:

答案 0 :(得分:1)

故事板没有提供一种在没有编码的情况下从segue返回的方法,但是这可以通过以下代码轻松完成:

[self.navigationController popToRootViewControllerAnimated:YES];

答案 1 :(得分:0)

故事板不提供popViewController的“无代码”方式,您需要自己实现。

如果你想要弹出第一个viewController,你需要使用:

[self.navigationController popToRootViewControllerAnimated:YES];

答案 2 :(得分:0)

你可以使用UnwindSegue以及iOS6,虽然它确实需要一些代码)*用于推送segues。有关UnwindSegues的详细说明,请参阅SO post, scroll down to "In a Nutshell"

)*具体来说,您需要一个展开动作,例如

- (IBAction)unwindToThisViewController:(UIStoryboardSegue *)unwindSegue

答案 3 :(得分:0)

一种解决方案,包括编写一次代码,但之后可以在故事板中作为segue使用而无需进一步实现,这将是某种PopSegue作为UIStoryboardSegue的子类。

@interface PopSegue : UIStoryboardSegue

覆盖-perform方法,如下所示。

@implementation PopSegue

- (void)perform
{
    [[self.sourceViewController navigationController] popViewControllerAnimated:YES];
}

@end

使用自定义segue进行反向导航并指定PopSegue类。