【问题标题】:Dissmis a modal viewcontroller on a Storyboard关闭 Storyboard 上的模态视图控制器
【发布时间】:2012-12-21 11:20:33
【问题描述】:

我正在使用最新的 SDK 开发 iPhone 应用程序。

我不知道如何关闭 ViewController。我添加了一个后退按钮,这就是我所做的:

- (IBAction)backButtonClicked:(id)sender
{
    [self.navigationController dismissModalViewControllerAnimated:YES];
}

我也试过了:

[self.navigationController popViewControllerAnimated:YES];

但两者都有效。我添加了一个断点,它会停在上面。

我使用Modal segue 导航到这个 ViewController。

如何以编程方式关闭此视图控制器?

【问题讨论】:

  • [self dismissViewControllerAnimated:YES 完成:nil];
  • 模态视图控制器不在导航控制器中,因此它的 navigationController 属性为零,因此您的代码行什么也不做

标签: ios storyboard modalviewcontroller


【解决方案1】:

试试[self dismissViewControllerAnimated:YES completion:nil];

【讨论】:

    【解决方案2】:
    - (IBAction)backButtonClicked:(id)sender
    {
        [self.presentingViewController dismissViewControllerAnimated:YES
                                                          completion:nil];
    }
    

    【讨论】:

    • 已弃用 - 请参阅 Levi 的回答
    【解决方案3】:

    正在模态显示的 VC 是您自己的视图控制器子类的实例,还是您将其包装在 UINavigationController 中?如果是前者,请尝试

    [self dismissModalViewControllerAnimated:YES];
    

    [self.presentingViewController dismiss...] 也可以,但仅适用于 iOS 5+

    【讨论】:

    • dismissModalViewController 已弃用
    【解决方案4】:

    创建一个自定义segue,然后按钮动作选择自定义segue http://jeffreysambells.com/2014/02/19/dismissing-a-modal-view-using-a-storyboard-segue

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 2011-06-11
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多