2011-12-20 6 views
1

nコントローラの番号を持つナビゲーションコントローラを使用しています。上下のバーがアニメーション化されないようにする - iPhone

ここでは、1つの画面から別の画面に移動するときに、コントローラを押してもトップバーとボトムバーがあまりにも移動します。

だから私はトップバーとボトムバーの遷移を防ぐことができる方法がありますか?

N.B.上部バーの内容は静的ですが、下部バーの内容は、その特定のページの要件に応じて変化し続けます。

本当にありがとうございます。

答えて

1

ナビゲーションバーのビューにタブバーを追加しないでください。

ビューを持つUIViewControllerを作成します。
UIViewControllerでUINavigationController型のインスタンス変数を作成します。
UINavigationControllerのナビゲーションバーを非表示にします。この

UIViewController  UIViewControllers content view setup. 
------------------- ------------------- 
|UIView   | |UINavigationBar | 
|     | |-----------------| 
|     | |UINavigationVi | 
|     | |ewController  | 
|     | |content view  | 
|     | |     | 
|     | |     | 
|     | |     | 
|     | |     | 
|     | |     | 
|     | |     | 
|     | |-----------------| 
|     | |UIToolBar  | 
------------------- ------------------- 

よう

設定のUIViewControllerの内容は、バーからの相互作用がUINavigatioViewControllerと彼のターンに相互作用のUIViewController、中にメソッドを呼ぶことにしましょう。

私はこれが参考になり、十分明確であることを望みます。

あなたの現在の状況に注意してくださいが、このようなものです:

UINavigationControllerViewController 
------------------- 
|view containing | 
|bars and current | 
|controller  | 
|     | 
|     | 
|     | 
|     | 
|     | 
|     | 
|     | 
|     | 
|     | 
|     | 
------------------- 
+0

正常です。しかし、唯一の問題は、私の元のコントローラがその場所に残って以来、内部コントローラは、viewWillAppear、didAppear、willDisappearのようなすべてのビューデリゲートメソッドをナビゲートする予定だからです。今は強制的にそれらを起動する必要があります。また、2番目のイメージでは、UIViewControllerの代わりにUINavigationコントローラーを使用すると、すべてのinnerViewsの** Yフレーム**を0の代わりに46から開始する必要はありません –

+0

このソリューションのサンプルアプリケーションを作成しました。 https://github.com/stil4m/NavControllerNoBarsのコードを参照してください。このソリューションでは、46ピクセルのマージンを追加する必要はなく、デリゲートメソッドがあります。メインビューコントローラでは、UINavigationControllerからデリゲートコールを処理できます。リポジトリのコードを読んでください。これは物事をクリアすることを願っています。 doesntのは、私たちがこの道を行けば..あなたが提供してもサンプルがviewwillAppearへの呼び出しを行うと、残りはありません自動的に呼び出されます –

+0

おかげトンマット..しかし、主なものはviewWillAppear、DidAppearは、と呼ばれる取得方法を消えるなっていました。..ビューの委譲メソッド:( –

0

は、上記の要件を考えると、私はUINavigationControllerを使用しますが、NavigationBarが非表示にし、私自身のヘッダーバーのグラフィック(UIViewの)および任意の必要なボタンを実装します。

[self navigationController].navigationBar.hidden = YES; 
+0

しかし、どのようにしてトップバーにアニメーションが表示されないのですか?トップバーとボトムバーだけがアニメートしてはいけません。 –

関連する問題