使用RxSwift / RxCocoa订阅UINavigationController后退按钮

时间:2017-06-17 22:08:36

标签: ios uiviewcontroller rx-swift rx-cocoa

我有一个简单的测试项目,UINavigationControllerrootViewController

我按下第一个ViewController,其中有一个+按钮作为右侧栏按钮项,我订阅了它的水龙头以呈现新的ViewController(与前一个相同)。 push segue按照我的预期工作。

UIKit为我管理了后退按钮,我认为它是UINavigationController,可以在幕后制作魔法。

现在,我需要做的是订阅后退按钮,但我找不到如何做到这一点。 我试过

  1. navigationController.navigationBar.backItem?.backBarButtonItem?.rx.tap

  2. navigationController.navigationItem.backBarButtonItem?.rx.tap 但它们似乎是零,所以可选的链接阻止了订阅。

  3. 感谢您的帮助,Luca -

1 个答案:

答案 0 :(得分:1)

我认为你最好的选择是在UINavigationController上使用运算符。

只要显示视图控制器,

navigationController.rx.willShow就会触发。你可以在火灾发生的最后一刻清理。