ノート的なやつ

学んだことの備忘録です。ご指摘等お待ちしております。

UIBarButtonItemのactionが発火しない

と思ったら、 init(customView:) でUIButtonなどを入れこんで初期化しているとUIBarButtonItemのデフォルトのタップイベントは発火せず、中身のUIButtonのactionが発火するんですね。

以下参考までに
- RxSwift - extensionでUIBarButtonItemにrx.tapを生やしています

// 適当なフレーム
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 21, height: 23)) 
            
button.rx.tap
    .subscribe(onNext: { _ in
        print("=========こっちは反応する===")
    }).disposed(by: disposeBag)
            
let barButtonItem = UIBarButtonItem(customView: bellButton)
barButtonItem.rx.tap
    .subscribe(onNext: { _ in
         print("======こっちは反応しない====")
    }).disposed(by: disposeBag)

navigationItem.rightBarButtonItems = [barButtonItem]