質問

私が欲しいもの

完全にカスタムナビゲーションバーで、カスタムモーダルトランジションを介してユーザーの操作を許可します。

私がやったこと

下部のコンテナビューと、上部のビュー(カスタムナビゲーションバー)を含む親ビューコントローラを構築しました。コンテナビューは、他のビューコントローラをモジュール的に提示できるビューコントローラを埋め込む。

表示されているビューコントローラは、カスタム遷移(UIViewControllerTransitingDelegate)を使用して下からポップアップし、ビューコントローラの一部を下のビューコントローラの一部を表示します(すなわち、メニューを表示されます)。

最初のビューコントローラがモーダルに表示されている場合は、カスタムナビゲーションメニューと対話することができます。ただし、最初のモーダル表示されたView Controllerが順番に別のView Controllerを表示している場合、カスタムナビゲーションバーはユーザーの操作に応答しません。

|  NAV BAR  |             
|-----------|             |------------|               |------------|              
| Container |             |   View     |               |    View    |             
|   view    |-> EMBED ->  | Controller |-> Presents -> | Controller |-> Presents ->
|           |             |            |    Modally    |    1st     |    Modally   
.

(cont)

  |------------|
  |    View    |
->| Controller |
  |     2nd    |
.

最初のビューコントローラがモーダルに表示されている場合、ナビゲーションバーはまだタッチに応答します。 2番目のもの(そしてその行(すなわち3番目、4th ...))が提示されているとき、ナビゲーションバーはまだ見えているが、ユーザのタッチに応答しない。

github には、プロジェクトがあります。

私の問題は何ですか

モーダルに提示したビューコントローラ数に関係なく、ナビゲーションバーをタップできるようにしたいのですが。

私がこの作品に近づいている方法はすべきですか?

私がしたいことを達成するための最良の方法は何ですか?完全にカスタムナビゲーションバー(すなわち、いくつかのボタン、カスタムの高さなど)を作成するための標準的な方法がありますか?

役に立ちましたか?

解決

github プロジェクトに従って、ファイルCVTFIRSTViewController.hの2番目のビューコントローラのモーダルプレゼンテーションスタイルを変更してください。

このコードを使う

     secondViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
.

の代わりにp>
     secondViewController.modalPresentationStyle = UIModalPresentationCustom;
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top