您可以推送到 viewController 并成为该控制器导航的一部分吗?

Can you push to a viewController and be a part of that controllers navigation?

假设我有以下 storyboard 结构

navigation controller -> class A -> class B

navigation controller 分开,我有 class C

现在我想从class C´ to class Band end up inside thenavigation controllerof whichclass Bbelongs. So if I press back, I end up in[=43=导航] A`.

我尝试创建一个单独的 class,子 class 从 UINavigationController

编辑
class MyNavigation: UINavigationController {}

然后在 storyboard 中,我将 navigationController 设置为此 class。

class C 中,我尝试了以下代码:

let navigation = UINavigationController() as? Myavigation

let storyboard = UIStoryboard(name: "MyStoryboard", bundle: nil)

guard let viewController = storyboard.instantiateViewController(withIdentifier: "MyId") as? FirmwareViewController else { return }
           
navigation?.pushViewController(viewController, animated: true)

但这没有任何作用。是的,它通过了警卫。那么是否有可能实现我想要做的事情?

我想你可以使用以下 -

let cNavCtrl = UINavigationController(rootViewController: c)
cNavCtrl.modalPresentationStyle = .fullScreen
b.navigationController?.present(cNavCtrl, animated: false, completion: nil)

然后在 c 中,你可以添加一个 backButton/cross 来调用 -

self.navigationController?.dismiss(animated: true, completion: nil)

这样 - 您的 c 永远不会成为 b.navigationController 的一部分,点击 c 的后退会将您带回 b