Created
March 2, 2018 03:30
-
-
Save mitsuse/13535034be747ea8ee4c4ad9de0a9d03 to your computer and use it in GitHub Desktop.
Revisions
-
mitsuse created this gist
Mar 2, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,28 @@ import UIKit import RxCocoa import RxSwift final class TabBarController: UITabBarController { private let disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() rx.didSelect .withPrevious() .subscribe(onNext: { previous, next in guard previous == next, let topViewController = (next as? UINavigationController)?.topViewController else { return } topViewController.navigationItem.titleView?.becomeFirstResponder() }) .disposed(by: disposeBag) } } extension ObservableType { public func withPrevious() -> Observable<(E?, E?)> { return self .scan((nil, nil)) { state, next in let (_, previous) = state; return (previous, next) } .skip(1) } }