Нужно ли использовать NavigationController в моем коде координаторов? - PullRequest
0 голосов
/ 16 февраля 2019

Я выполняю рефакторинг своих кодов и хочу попробовать Координаторам.

Однако мне не совсем комфортно с ответственным UINavigationController, потому что он создает кнопку «Назад» для дочерних координат, а также нежелательныеверхний бар, который мне не нужен.

Можно ли вообще использовать обычный UIViewController вместо UINavigationController?

PS: это пример кода, который я нашел [Здесь] [1]

Координатор протокола {func start ()}

Протокол FlowACoordinatable {var координатор: FlowACoordinator}

класс FlowACoordinator: Coordinator {

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)
}

...

}

class FirstViewController: UIViewController, FlowACoordinatable {

var coordinator: FlowACoordinator?

func buttonTapped() {
    self.coordinator?.goToNextStep()
}

}

1 Ответ

0 голосов
/ 18 февраля 2019

Отвечая на мой собственный вопрос ...

Архитектура координаторов основана на UINavigationController, и нельзя заменить на UIViewController.

Но все же, этоМожно скрыть панель нижней панели, используя Проверка объекта и отметив Скрыть панель нижней части ... или сделав это по коду .

...