0

これはおそらく非常に簡単です。しかし、ここでのベストプラクティスはわかりません。

私は4つのタブを持つタブバーコントローラーを持っています。そのうちの3つはUINavigationControllerである必要があり、もう1つはそれにUINavigationBarを持っている必要がありますが、navコントローラー自体ではありません。ここで、UINavigationBarに色合いとアクションボタンを付けたいと思います。これをInterfaceBuilderで実行したいと思います。navBarは常に同じである必要があり、一度だけ作成したいと思います。

しかし、正確にはどこでそれをしますか?UINavigationBarのみを含む.xibファイルを作成し、何らかの方法でそれにリンクしますか?

私はここで非常に混乱しています。ほとんどのチュートリアルでは、1つのnavControllerのnavBarについてのみ説明していますが、私の場合は、異なるViewControllerに同じバーが必要です。

4

1 に答える 1

0

NavBarにはnavigationControllerが付属しているか、個別に提供できます。これはUIViewのサブクラスです。

navBarをすべてのコントローラーおよびnavigationControllerと単純に共有することはできません。ナビゲーションバーの1つのインスタンスを意味します。NavigationControllerのナビゲーションバーを設定することもできません。読み取りのみ可能です。

私の理解では、あなたはナビゲーションバーをすべてのコントローラーで同じように見せようとしています、私は正しいですか?
したがって、たとえばUINavigationControllerをサブクラス化し、initメソッドで必要に応じて設定し、このサブクラスを初期化してビューに追加できます。

しかし、非UINavigationController navBarはどうですか?
それは簡単です。サブクラス化されたnavigationControllerをそのタブに追加するだけです。NavControllerとして使用する必要はありません。標準のViewControllerに関して、彼のビューにビューを追加するだけです。

于 2012-09-08T11:28:00.397 に答える