1. ホーム
  2. ios

[解決済み] UINavigationControllerでナビゲーションバーを隠すとスワイプで戻れない件

2023-01-05 17:19:57

質問

ビューを埋め込むことで継承されるスワイプパックが好きです。 UINavigationController . しかし、残念ながら NavigationBar を非表示にしても、タッチパン・スワイプバックの gesture . カスタム ジェスチャを作成することもできますが、そうせずに UINavigationController バックスワイプ gesture の代わりに

ストーリーボードでチェックを外すと、バックスワイプが効かなくなります。

または、プログラムによって非表示にした場合も、同じシナリオになります。

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.navigationController setNavigationBarHidden:YES animated:NO]; // and animated:YES
}

一番上の NavigationBar を非表示にして、スワイプ機能を持たせることはできないのでしょうか?

どのように解決するのですか?

うまくいっているハックは interactivePopGestureRecognizer のデリゲートを UINavigationController から nil のようにします。

[self.navigationController.interactivePopGestureRecognizer setDelegate:nil];

しかし、状況によっては奇妙な効果を生み出す可能性があります。