1

これらを含むテンプレートビューコントローラーを作成したい:

  1. アプリ全体にあるナビゲーション バー
  2. アプリ全体で使用されるヘッダー
  3. 標準の背景 (View Controller の背景はアプリ全体で同じにする必要があります)
  4. アプリ全体で使用されるフッター

要するに、ナビゲーション バー、ヘッダー、フッター、および背景を持つカスタム ビュー コントローラー クラスが必要です。次に、インターフェイス ビルダーですべてのビュー クラスをこのクラスに置き換えます。

4

2 に答える 2

1

そうです、カスタム ビュー コントローラーを 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" を選択できます。

于 2012-08-29T08:25:51.260 に答える
0

navigationBar はUINavigationController、viewController が追加される の一部であるため、これはそれら全体で自動的に標準になります。

カスタムView Controllerの作成に関しては、基本的に「継承を行う方法」を尋ねていますが、これは単一の回答の範囲外です。Google 検索を行うと、優れたチュートリアルがたくさんあります。

于 2012-08-29T07:48:37.267 に答える