Ios UIStoryboard显示(例如推)返回的简单反向动作

Ios UIStoryboard显示(例如推)返回的简单反向动作,ios,segue,uistoryboard,xcode-storyboard,xcode6.1,Ios,Segue,Uistoryboard,Xcode Storyboard,Xcode6.1,在故事板中,我们有很好的功能,可以让我们进行表演(例如推送)。看来接下来的逻辑是: 若我们并没有导航控制器,那个么视图控制器将使用当前模式逻辑。我的问题是,我可以在Show中使用反作用吗 我有一个UI按钮,用于关闭当前视图控制器屏幕: - (IBAction)onTappedCloseButton:(id)sender { [self.navigationController popViewControllerAnimated:YES]; } 但如果我没有导航控制器,我怎么能简单地使用

在故事板中,我们有很好的功能,可以让我们进行表演(例如推送)。看来接下来的逻辑是:

若我们并没有导航控制器,那个么视图控制器将使用当前模式逻辑。我的问题是,我可以在Show中使用反作用吗

我有一个UI按钮,用于关闭当前视图控制器屏幕:

- (IBAction)onTappedCloseButton:(id)sender
{
    [self.navigationController popViewControllerAnimated:YES];
}
但如果我没有导航控制器,我怎么能简单地使用反向动作返回呢?因此,我的解决方案是检查self.navigationController是否为零,然后使用dismissing选项:

[self dismissViewControllerAnimated:YES completion:nil];

但也许还有另一个很酷的解决方案,比如Show(推送)。但是关闭(例如pop)?

是的,您可以使用一个展开序列返回,它将与前向序列相反。

是的,您可以使用一个展开序列返回,它将与前向序列相反。

您有两个选择:

1) 放松阶段

要进行展开序列,您必须在视图控制器中添加一个方法,以便使用以下格式“展开”到其中:

-(iAction)someSelectorName:(UIStoryboardSegue*)发送方

然后,您将能够从UI按钮拖动到情节提要中的“退出”图标

将它连接到您刚刚定义的选择器,UIKit将知道如何返回视图控制器,而无需编写任何代码。这可能特别有用,因为它可以确定何时需要多次调用
-dismissViewControllerAnimated:
,并且可以成功调用这些方法。当您要展开到的视图控制器的顶部显示有导航控制器时,它甚至可以从嵌入在导航控制器中的视图控制器中展开。(即,它将执行dismissViewController而不是pop来展开)

2) 自定义展开方法

假设您不想或不能从故事板触发此操作。这里还有一个选项及其详细说明:


要点是,您可以通过在UIKit容器视图控制器(或您自己的容器)上实现类别来编写自己的通用方法。

关于如何执行此操作,您有两个选项:

1) 放松阶段

要进行展开序列,您必须在视图控制器中添加一个方法,以便使用以下格式“展开”到其中:

-(iAction)someSelectorName:(UIStoryboardSegue*)发送方

然后,您将能够从UI按钮拖动到情节提要中的“退出”图标

将它连接到您刚刚定义的选择器,UIKit将知道如何返回视图控制器,而无需编写任何代码。这可能特别有用,因为它可以确定何时需要多次调用
-dismissViewControllerAnimated:
,并且可以成功调用这些方法。当您要展开到的视图控制器的顶部显示有导航控制器时,它甚至可以从嵌入在导航控制器中的视图控制器中展开。(即,它将执行dismissViewController而不是pop来展开)

2) 自定义展开方法

假设您不想或不能从故事板触发此操作。这里还有一个选项及其详细说明:

要点是,您可以通过在UIKit容器视图控制器(或您自己的容器)上实现类别来编写自己的通用方法