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];
我想要 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];