您可以推送到 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 the
navigation controllerof which
class 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
。
假设我有以下 storyboard
结构
navigation controller
-> class A
-> class B
与 navigation controller
分开,我有 class C
。
现在我想从class C´ to
class Band end up inside the
navigation controllerof which
class 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
。