[XCode]UINavigationBarにUIBarButtonItemでボタンを追加する方法
2013/09/06
アプリ開発には欠かせないナビゲーションバー。
UINavigationBarにボタンを追加するとき、結構苦戦してしまいましたので、ボタンを追加する方法をココに書き記しておきたいと思います。
UINavigationBarにUIBarButtonItemでボタンを設置する
手順としては、細かく分けると…
1.UINavigationBarを生成
2.UINavigationItemを生成
3.UIBarButtonItemを生成
4.UINavigationItemに3で作ったボタンを設定
5.UINavigationBarに4で完成したUINavigationItemをプッシュ
6.UINavigationBarを表示
という手順になります。最初に部品を組み立て、最後に表示をイメージすると分かりやすいかな、と思います。
設置してみる
これをコードで書いてみると、以下になります。僕はviewDidLoadに書きました。
/* NavigationBar */ // 1 navBar = [[UINavigationBar alloc] init]; [navBar sizeToFit]; // 2 // NavigationItemを生成 UINavigationItem *navTitle = [[UINavigationItem alloc] initWithTitle:@"タイトル"]; // 3 // ボタン1 UIBarButtonItem *btn1 = [[UIBarButtonItem alloc] initWithTitle:@"ボタン1" style:UIBarButtonItemStylePlain target:self action:@selector(btn1_down)]; // ボタン2 UIBarButtonItem *btn2 = [[UIBarButtonItem alloc] initWithTitle:@"ボタン2" style:UIBarButtonItemStylePlain target:self action:@selector(btn2_down)]; // 4 // NavigationBarの表示 navTitle.rightBarButtonItem = btn1; navTitle.leftBarButtonItem = btn2; //5 [navBar pushNavigationItem:navTitle animated:YES]; //6 [self.view addSubview:navBar];
コメントで番号を付けてあるのものが最初に上で説明した処理になります。
これを実行すると、ボタン付きのナビゲーションバーが現れます。(※テーブルは表示されません)
是非お試しあれ!
関連記事
-
-
[XCode]gitでcommitしたファイル(リモートリポジトリ)を巻き戻す方法
結構前からgitを実験的に導入してcommitやpushをしています。とうとう先 …
-
-
[XCode]親子関係じゃないView間で値の受け渡しをする方法
@hawk_a 親子じゃないときは、Appdelegateに変数書いてそれを参照 …
-
-
[XCode]追加してインポートしたヘッダーファイルが見つからないときの対処法3つ
XCodeでインポートの宣言をした際(import <hoge.h> …
-
-
[XCode]Title set but using a system Identifierなる警告が出たときの対処法
最近iPhoneアプリ開発を始めた@hawk_aです。 StoryBoardを使 …
-
-
[XCode]ARC使用中にエラー「EXC_BAD_ACCESS」「respondsToSelector」が出た場合の対処法
なんでも、このエラーは解放済み(ゾンビ)のインスタンスにアクセスした時に出るエラ …
-
-
信じられないほど簡単にオブジェクト指向って何?を解決してくれる本
「俺がやらなきゃ誰かやる」が合言葉の社会に生きている僕です。分からないことを分か …
-
-
開発したiOSアプリに不具合を見つけた時に緊急で審査期間を早くしてもらう方法
先日とうとう恐れていたことが起こりました。黒い怪物が部屋に出たとかそういうことで …
-
-
[XCode]NSNotificationってなに?って人もとりあえずこれだけは知っておくべき
異なるクラス間で通知や変数を渡したりできる便利なNSNotificationです …
-
-
[XCode]UISplitViewControllerからUIViewController SplitViewから1つのビューに遷移させる方法
昨日に引き続き。 [XCode4.4]UIViewController→UISp …
-
-
[XCode 4.3]Text Fieldの入力が終わったら次のText Fieldにソフトウェアキーボードでカーソルを移動させて最後にボタンを押す方法
XCodeをしこしこやっております。ほーく(@hawk_a)です。 プログラムの …