makotton.com

UINavigationBarのBackボタンをUIBarButtonItemでカスタマイズするとエッジスワイプジェスチャーが効かなくなる件の対処(Swift)

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

UINavigationBarのBackボタンに対してUIBarButtonItemを用いて独自に設定を行うとエッジスワイプジェスチャーが効かなくなりますが、以下の方法で有効にできます。

FirstViewController(遷移元)からSecondViewController(遷移先)をpush、SecondViewControllerにBackボタンがある構造を前提として、

[bash]
class SecondViewController: UIViewController, UIGestureRecognizerDelegate {
・・・
override func viewDidLoad() {
super.viewDidLoad()
・・・
self.navigationController.interactivePopGestureRecognizer.delegate = self
・・・
}
・・・
}
[/bash]

[adsense]

SecondViewControllerにデリゲートとしてUIGestureRecognizerDelegateを設定、viewDidLoadあたりでデリゲートインスタンスを設定します。これでOKです。

モバイルバージョンを終了