IOS/Objective-C/Storyboard:防止 ViewController 模态启动

IOS/Objective-C/Storyboard: Prevent ViewController From Launching Modally

我想要 viewcontroller 使用显示转换启动,而不是从底部模态启动。通常当我使用下面的代码时会发生这种情况。然而,在这种情况下,它是作为自下而上的模态控制器启动的。是否有一个我不知道的开关或者是否可以在 Storyboard 中设置某些东西导致此 VC 从底部模态启动而不是显示?

 UIStoryboard *storyBoard = self.storyboard;

    IDImportEventsOnboard *importEvents =
    [storyBoard instantiateViewControllerWithIdentifier:@"importEventsOnboard"];
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: importEvents];

    [self presentViewController:nav animated:YES completion: nil];

VC嵌入了一个导航控制器。

我是否应该直接对目标使用 showViewControllerVC 而无需通过导航?或 pushViewController 什么是显示带有显示转换的 VC 的正确、可靠的方法?

提前感谢您的任何建议。

在上面的代码中,您是 'presenting' 来自 ViewController 的新 NavigationController。为了执行 push/show 转换,需要在 NavigationController 的实例上完成。如果您当前的 ViewController 已经在 NavigationController 中,您可以将新的 ViewController 推送到当前的 NavigationController 堆栈中。例如:

UIStoryboard *storyBoard = self.storyboard;

IDImportEventsOnboard *importEventsVC =
[storyBoard instantiateViewControllerWithIdentifier:@"importEventsOnboard"];

[self.navigationController pushViewController:importEventsVC animated:YES];