Exception Code.

iPhone、Macと読書が大好き。iPhone・Mac・書評を中心に好きな事を書いていました。今は『ほーくブログ』でブログを書いています。

[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];

コメントで番号を付けてあるのものが最初に上で説明した処理になります。
これを実行すると、ボタン付きのナビゲーションバーが現れます。(※テーブルは表示されません)

IOSシミュレータ 2

是非お試しあれ!

Xcode

無料
(2013.09.03時点)
posted with ポチレバ

 - 開発/プログラム

  関連記事

デスマーチを止める!システム開発の成功に「設計」と「テスト」は欠かせない

「デスマーチ」という、IT業界で名の知れた用語があります。 商品知識のない営業が …

[git]Coda2でgitを設定してWordPressのテーマファイルをバックアップする方法

ブログのテーマを作り直していろいろしています。家ではiMac、外ではMacBoo …

bloggerXcode-icon-375x375-75.png
[XCode]親子関係じゃないView間で値の受け渡しをする方法

@hawk_a 親子じゃないときは、Appdelegateに変数書いてそれを参照 …

bloggerXcode-icon-375x375-75.png
[XCode]ARC使用中にエラー「EXC_BAD_ACCESS」「respondsToSelector」が出た場合の対処法

なんでも、このエラーは解放済み(ゾンビ)のインスタンスにアクセスした時に出るエラ …

信じられないほど簡単にオブジェクト指向って何?を解決してくれる本

「俺がやらなきゃ誰かやる」が合言葉の社会に生きている僕です。分からないことを分か …

bloggerXcode-icon-375x375-75.png
[XCode]スキャナーで読み取れるバーコード(JANコード・Code39)をフォントで表示する方法と注意点

Passbookなどもそうですが、最近はクーポンや会員証などの電子化をよく目にし …

bloggerXcode-icon-375x375-75.png
[XCode]gitでcommitしたファイル(リモートリポジトリ)を巻き戻す方法

結構前からgitを実験的に導入してcommitやpushをしています。とうとう先 …

[XCode]iPhoneに入っていないフォント(カスタムフォント)を使えるようにする方法と注意点

iPhoneは結構いろんなフォントが使えますが、「オリジナルのフォントを使いたい …

bloggerXcode-icon-375x375-75.png
[XCode 4.3]Text Fieldの入力が終わったら次のText Fieldにソフトウェアキーボードでカーソルを移動させて最後にボタンを押す方法

XCodeをしこしこやっております。ほーく(@hawk_a)です。 プログラムの …

bloggerXcode-icon-375x375-75.png
[XCode]Title set but using a system Identifierなる警告が出たときの対処法

最近iPhoneアプリ開発を始めた@hawk_aです。 StoryBoardを使 …