これらを含むテンプレートビューコントローラーを作成したい:
- アプリ全体にあるナビゲーション バー
- アプリ全体で使用されるヘッダー
- 標準の背景 (View Controller の背景はアプリ全体で同じにする必要があります)
- アプリ全体で使用されるフッター
要するに、ナビゲーション バー、ヘッダー、フッター、および背景を持つカスタム ビュー コントローラー クラスが必要です。次に、インターフェイス ビルダーですべてのビュー クラスをこのクラスに置き換えます。
そうです、カスタム ビュー コントローラーを UIViewController のサブクラスとして作成します。UITableViewController で同じことをしたいかもしれません。それらに myViewController と myTableViewController という名前を付けたとします。
インターフェイス ビルダー ビューは、このクラスまたはそのサブクラスをそれぞれ参照します。
BackgroundColor:
ただし、View Controller には背景色がありません。それらのビューには背景色があり、View Controller はそのビューの背景色を一定の値で設定する場合があります。背景色が一般的な背景と同じである必要があるビュー階層内のすべてのビューが、それ自体に背景色を持っていないことを確認してください。(またはそれぞれクリアカラー: [UIColor clearColor]
)
次に、View Controller で次のように色を設定できます。
self.view.backgroundColor = [UIColor colorWithRed:0.5 green:0.5 blue:0.5];
コード内の多くの場所で値をハードコーディングするよりも、これをコーディングするよりスマートな方法があることに注意してください。
NavigationBar: ナビゲーション バーは、ナビゲーション コントローラーのプロパティです。通常、アプリにはナビゲーション コントローラーが 1 つしかありません (タブ バー ベースのアプリでない限り、複数ある場合があります)。したがって、共通のカスタム ナビゲーション バーを目指すためだけに、すべてのビュー コントローラーをサブクラス化する必要はありません。
ヘッダーとフッター: 率直に言って、それが何を意味するのかわかりません。テーブル ビューのヘッダーとフッターを参照できます。その場合は、既に述べたように、アプリ全体で共通のヘッダーとフッターを提供する、アプリケーション全体のスーパークラス "myTableViewController" を選択できます。
navigationBar はUINavigationController
、viewController が追加される の一部であるため、これはそれら全体で自動的に標準になります。
カスタムView Controllerの作成に関しては、基本的に「継承を行う方法」を尋ねていますが、これは単一の回答の範囲外です。Google 検索を行うと、優れたチュートリアルがたくさんあります。