1

私は UINavigationBars のカスタマイズに多くの経験を積んできましたが、多くの努力をせずに自分のやりたいことを実行させるのは大変なことでした。そこで、UINavigationBar と同じように動作し、完全かつ簡単にカスタマイズできる独自のカスタム UIView を作成しました。ただし、ナビゲーション コントローラーが新しいコントローラーをスタックにプッシュすると、カスタム ビューがタッチ イベントの受信を停止するという問題があります。

これをより明確にするために、アプリはビュー コントローラーを読み込んで表示します。viewDidLoad メソッドでカスタム ナビゲーション バーを作成し、コントローラーのビューに追加します。ナビゲーション コントローラーがプログラムで作成され、ビュー コントローラーがそれにプッシュされます。この時点で、カスタム ビューが一番上にあり、タッチ イベントを受信して​​います。別のビュー コントローラーをナビゲーション コントローラーのスタックにプッシュすると、カスタム ビューがまだ一番上に表示されますが、イベントを受信しません。

私の質問は、カスタム ナビゲーション バーをレスポンダー チェーンに戻す方法です。

ご協力いただきありがとうございます!

4

1 に答える 1

1

iOS < 5.0 をサポートする必要がない場合は、- (instancetype)initWithNavigationBarClass:(Class)navigationBarClass toolbarClass:(Class)toolbarClass手動で行うのではなく、UINavigationController のメソッドを使用して UINavigationBar を追加してみてください。

于 2012-10-29T15:38:51.197 に答える