[iPhone SDK] UINavigationBar にボタンを追加する

公開日: : iPad, iPhone ,

uinavigationbar.png

自作アプリでUIWebViewを使ってWebを表示しているが、戻る・進むボタンをUINavigationBarに追加したかったので調べてみた。
UIToolBarにボタンを追加する方法は以前書いたが、今回はTabBarを使ってしまっているので、ツールバーは使えない。(バーが2本になってしまってかっこわるい)
このため、UINavigationBarに追加したかった。
How to add a button to UINavigationBar? – Stack Overflow
View Controller Programming Guide for iOS: Navigation Controllers(iOS Reference Library)
を参考にして書いてみた。

	// Back/Forward ボタンをNavigationBarに追加する
	UISegmentedControl *segmentedControl = [[[UISegmentedControl alloc] initWithItems:
											[NSArray arrayWithObjects:
											 [UIImage imageNamed:@"left.png"],											 
											 [UIImage imageNamed:@"right.png"],											 
											 nil]]autorelease];
	
	[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
	segmentedControl.frame = CGRectMake(0, 0, 200, 32);
	segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
	segmentedControl.momentary = YES;	
	UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];			
	self.navigationItem.rightBarButtonItem = segmentBarItem;

最初はこれは便利 iPhoneプログラミングUIKit詳解リファレンスのP94を参考に、UINavigationBarのtitleViewに自前のViewを入れようと思ったが、面倒そうなのであきらめて、navigationItem.rightBarButtonItem に UISegmentedControl を入れる方法でやってみた。
とりあえずそれなりに使えるものになったのでこれで良しとする。
rightBarButtonItem にはまた別なボタンを置きたい、となるとこの方法は使えないのだが。

iPhoneプログラミングUIKit詳解リファレンス
iPhoneプログラミングUIKit詳解リファレンス 所 友太 京セラコミュニケーションシステム株式会社

リックテレコム 2010-01-12
売り上げランキング : 6896

おすすめ平均 star
starアグレッシブでなおかつ真摯な本だと思います
star長く使える一冊
star机の上に備えておきたい良書の一冊です

Amazonで詳しく見る by G-Tools

関連記事

no image

iPhone OS 4.0 のマルチタスク対応

iPhone OS 4.0 でマルチタスク対応される、ということでWindowsやMacOS Xの

記事を読む

no image

iTunes Connect でたらいまわし

iTunes Connect でしばらくたらい回しにあっている。さすがにひどいので記録しておく。 i

記事を読む

no image

[iPhone SDK] UILabel からポップアップメニューを表示してみる

今作っているアプリに UILabel を複数置いた画面があるが、その UILabelたちは編集

記事を読む

PebbleアプリのPebble Time Round対応

BeforeAfter 丸くなったPebbleを初レビュー。ギークじゃなくても使えるスマートウォッチ

記事を読む

Siri Shortcuts に対応

正月休み中なので、ブログ記事が書きやすい。毎年この時期だけはよくブログを書いている気がする。

記事を読む

no image

[iOS SDK] SSPieProgressView を使ってみた

iOS オープンソースライブラリ徹底活用 菊田剛著 秀和システム | DevCafeJp で紹介さ

記事を読む

no image

2歳の娘がiPadを離しません タッチ! うごく うたえほん

開発用に買ったのでアプリ開発時以外はあまり使っていなかったiPadはここしばらく完全に2歳の娘用にな

記事を読む

no image

iPhone Dev Center が We’ll be back soon.

iPhone Dev Centerが昨日からずっとメンテナンス中。もうすぐ1日経つと思うけどいつま

記事を読む

no image

WWDC 2011 に行ってきた

WWDC 2011に行ってきたときのメモなど。公開が遅れているうちにWWDC 2012のチケット

記事を読む

リズムくんHD 1.2.1 で iOS11に対応しました

iPad用のリズムくんHD のiOS11対応が遅れてしまったため、2017年11月あたりからiOS1

記事を読む

Message

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Transcend TS-HUB5C を買ってみた

前回 USB Type-C ハブを買って返品してしまったので、再度検

TUNEWEAR ALMIGHTY DOCK nano1 USB3.2 5in1ハブ を買ってみた

ちょうどiPhone のリストアを実行中で、2時間程度かかっていたた

Apple Developer Program 更新 2022

今年も Apple Developer Programを更新した。こ

M1 MacBook Air を macOS Monterey にアップデート

Xcode 13.3 アップデート するために、macOS

Xcode 13.3 アップデート

iPhone 11 Pro Max の iOSを15.4に上げてしま

→もっと見る

PAGE TOP ↑