2011年04月05日

【iPhoneSDK】UINavigationBarとUIToolBarをカスタマイズする

iPhoneアプリにおいて、Viewの切り替えはViewController間で行えるUINavigationControllerが便利です。
iPhoneらしい右から左へ、左から右へといったViewControllerのスタック管理を行ってくれます。

UINavigationControllerの設定を行うと、デフォルトでUINavigationBarが表示されています。
スタイル設定にて色合いを変更することができますが、
ここに画像を設定したいといった時に私の経験したことをメモしておきます。

自動的についているNavigationBarにImageViewをaddSubviewした場合、
NavigationControllerのpushによる画面遷移時、Imageがそのまま残る動きをしました。

文字だけでは難しいですが、
Viewが移動してても、NavigationBarはそのままっということです。
NavigationControllerに含まれるUITabBarも同様でした。

これをViewの移動にあわせてBarたちを移動させたいときはどうするか?

答えはNavigationControllerが持つBarを非表示にし、各ViewContoroller内で自分で実装する!(キリッ! です。

生成処理の時に
イメージを読み込む
UIImage* navigationBarImage = [UIImage imageNamed: @"画像名"];
UIImageView* naviImageView = [[UIImageView alloc] initWithImage: navigationBarImage];

ナビゲーションバー作成
UINavigationBar* navigationBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0, 0, navigationBarImage.size.width, navigationBarImage.size.height)];

イメージビューを追加
[navigationBar addSubview: naviImageView];

ビューコントローラのビューに登録
[self.view addSubView: navigationBar];

このような感じで処理を行います。

ここで問題点が一つ

NavigationBarを自作してViewContorllerに実装してるのみなので、
戻るボタンや戻る処理なども自分で追加しないといけない

ここはまた次回!

ラベル:iPhone Xcode
posted by ヒイロ at 10:58| 福岡 | Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック