0

現在のデザイン仕様では、現在、topItem/barItemの標準スペーシングと標準のフォントとタイトルのUINavigationBarが使用されています。UINavigationBarをサブクラス化して標準のビジュアルフォーマットを持つ

これを行うためのベストプラクティスは何ですか?私は、次のことをやって検討していた:

  1. は、すべてのプログラム的に行われ、自動レイアウト制約を設定しtopItemとbarItemのオブジェクトのサイズの寸法とUINavigationBarを作成します。

  2. 上記のストーリーボードを使用しないでください。すべての制約をコードに定義するだけです。

  3. 実際のストーリーボードでは、UINavigationBarを持つすべてのビューにこのサブクラスを使用させてください。

これは機能しますか?これはベストプラクティスですか?

+0

UINavigationBarをサブクラス化してすべてを再実装する必要があります。 UINavigationControllerは、ナビゲーションバーのカスタムクラスをサポートしています。 – Andy

答えて

0

私は今、アプリでの作業と同じ問題をこのように決めた:

アプリケーションは、アプリケーションのためのUINavigationBarの4種類があります。 UINavigationBarから継承したBaseNavBarを作成しました。 .xibでは、4つのUINavigationBarを作成し、その要素(titleLabel、titleLabel2)をBaseNavBar.hに、ボタンからのアクション(2〜4)をBaseNavBar.mに接続します。私がxibで作成したすべてのデザイン。

UIViewControllerから継承したBaseViewContollerを作成しました。 viewDidLoadでは、必要な型のBaseNavBarを初期化し、その要素をself.navigationItemに割り当てます。

ほとんどの場合、BaseViewControllerは使用するBaseNavBarのタイプを決定しますが、BaseContContollerから継承したViewControllerではこのタイプを変更できます。

この後、私は新しいViewControllerを作成し、UINavigationBarについては心配する必要はありません。

すべてのUINavigationBarで何かを変更する必要がある場合は、1か所で行います。

関連する問題