我正在重构代码,想尝试一下协调员。
但是,我对负责UINavigationController
的情况不太满意,因为它会在子坐标上创建一个“后退”按钮,以及一个不需要的顶部栏。
无论如何,我可以使用普通的UIViewController
代替UINavigationController
吗?
P.S:这是我在[这里] [1]
中找到的示例代码协议协调人{ func start() }
协议FlowACoordinatable { var协调器:FlowACoordinator }
FlowACoordinator类:协调器{
private var navigationController: UINavigationController
private var firstVC: FirstViewController
private var secondVC: SecondViewController
init(navigationController: UINavigationController) {
self.navigationController = navigationController
}
func start() { ... }
func present(_ viewController: (FlowACoordinatable & UIViewController)) {
viewController.coordinator = self
self.navigationController.pushViewController(viewController, animated: true)
}
...
}
FirstViewController类:UIViewController,FlowACoordinatable {
var coordinator: FlowACoordinator?
func buttonTapped() {
self.coordinator?.goToNextStep()
}
}
答案 0 :(得分:2)
回答我自己的问题...
协调器架构基于UINavigationController
,并且不能被UIViewController
取代。
但是,仍然可以使用 Object Inspection 隐藏对接栏窗格,并选中隐藏对接栏... 或进行by code。 / p>