UINavigationBarをUINavigationControllerではなく、UIViewController等に独自に実装する場合、以下のようにします。
// ナビゲーションバーを生成
UINavigationBar* navBarTop = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
navBarTop.alpha = 0.7f;
// ナビゲーションアイテムを生成
UINavigationItem* title = [[UINavigationItem alloc] initWithTitle:@"Title"];
// 戻るボタンを生成
UIBarButtonItem* btnItemBack = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(clickBack:)];
// ナビゲーションアイテムの右側に戻るボタンを設置
title.rightBarButtonItem = btnItemBack;
// ナビゲーションバーにナビゲーションアイテムを設置
[navBarTop pushNavigationItem:title animated:YES];
// ビューにナビゲーションアイテムを設置
[self.view addSubview:navBarTop];
ナビゲーションアイテムを生成するときにタイトルを設定します。上記では「Title」という文字列を設定しました。これで画面上部に大きな文字で「Title」と表示されます。
また、ナビゲーションアイテムにiPhoneアプリでよく見られる、画面右上と左上に表示されるボタンなどを設置します。
上記では右上に「戻る」ボタンを追加していますが、leftBarButtonItemプロパティに設置すれば、左上にも表示できます。
UIBarButtonItemはカスタマイズ可能で、例えば
// segmentedControlはUISegementedControlのインスタンス
UINavigationItem* title = [[UINavigationItem alloc] initWithCustomView:segmentedControl];
等とすれば、ナビゲーションバーの内部にUISegmentedControlのインスタンスや、その他スライダー等、いろいろと設置することが可能なようです。
最後に「pushNavigationItem」でナビゲーションバーにアイテムを設置します。
「addSubview」を使いそうになりますので注意が必要です。
0 件のコメント:
コメントを投稿