我希望 View Controller 使用显示转换启动,而不是从底部模态启动。通常当我使用下面的代码时会发生这种情况。然而,在这种情况下,它是作为自下而上的模态 Controller 启动的。是否有一个我不知道的开关或者是否可以在 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 嵌入在导航 Controller 中。
我应该在不通过 Nav 的情况下直接对 targetVC 使用 showViewController 吗?或 pushViewController 什么是通过显示转换显示 VC 的正确、可靠的方法?
提前感谢您的任何建议。
最佳答案
在上面的代码中,您从 ViewController“呈现”了一个新的 NavigationController。为了进行推送/显示转换,需要在 NavigationController 的实例上完成。如果您当前的 ViewController 已经在 NavigationController 中,您可以将新的 ViewController 推送到当前的 NavigationController 堆栈中。例如:
UIStoryboard *storyBoard = self.storyboard;
IDImportEventsOnboard *importEventsVC =
[storyBoard instantiateViewControllerWithIdentifier:@"importEventsOnboard"];
[self.navigationController pushViewController:importEventsVC animated:YES];
关于IOS/objective-C/ Storyboard : Prevent ViewController From Launching Modally,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52140475/