/ / Zapisz się do przycisku wstecz UINavigationController za pomocą RxSwift / RxCocoa - ios, uiviewcontroller, rx-swift, rx-cocoa

Subskrybuj przycisk powrotu UINavigationController za pomocą RxSwift / RxCocoa - ios, uiviewcontroller, rx-swift, rx-cocoa

Mam prosty projekt testowy zUINavigationController jako mój .rootViewController. Wypycham pierwszy ViewController, który ma przycisk + jako przycisk prawego przycisku paska, zasubskrybuję jego krany, aby przedstawić nowy ViewController (który jest identyczny jak poprzedni). Push pushue działa tak, jak się spodziewam.

UIKit zarządza tylnym przyciskiem dla mnie i myślę, że to UINavigationController, który sprawia, że ​​magia kryje się za sceną.

Teraz muszę się zapisać do tyłuprzycisk, ale nie mogę tego zrobić. Próbowałem z 1) navigationController.navigationBar.backItem? .BackBarButtonItem? .Rx.tap 2) navigationController.navigationItem.backBarButtonItem? .Rx.tap ale wydają się być zerowe, więc opcjonalne połączenie zapobiega subskrypcji.

Dzięki za twoją pomoc, Luca-

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że najlepiej jest tutaj użyć operatora na UINavigationController.

navigationController.rx.willShow uruchomi się za każdym razem, gdy zostanie wyświetlony kontroler widoku. Możesz w ostatniej chwili posprzątać po uruchomieniu.