[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

Corona SDK 調査2日目

昨日はとりあえずCorona SDKを使って付属のLuaのサンプルアプリをiPhone実機上で動かし

記事を読む

no image

[iPhone SDK] アプリケーションのローカライズ

iPhoneアプリを作っていて、一通り作り終わったら最後にやる作業の一つとして、ローカライズがある。

記事を読む

AWS IoTを利用してクラウド連携機能を追加してみた

GWに自宅待機でまとまった時間が確保できたので、AWS IoT を利用してMQTTを使った

記事を読む

no image

Xcode 設定しておくと便利なカスタマイズいろいろ

以前から Xcode はもう一歩使いにくいと思っていたが、iPhone アプリで稼げるのか でカスタ

記事を読む

iOS13からpresentViewControllerの挙動が変わっている

    ; を実行してViewControllerを表示していま

記事を読む

Pebble x テニスセンサーSSE-TN1

2014年のはじめにテニスセンサーの記事を書いたが、当時はまだセンサー対応ラケットが少なく、最近よう

記事を読む

[WatchKit] WatchSim 買ってみた

WatchSim Danny Keogan posted with iT

記事を読む

no image

[iPhone 開発本] iOS SDK Hacks の感想など。

iOS SDK Hacksは発売前から話題になっていて、発売日は10/23だが前日に新宿ジュンク堂に

記事を読む

no image

[iTunes Connect] Price End Date には安売りの終わる次の日を入れるべき

App Store では、ランキングに現れないアプリは存在しないも同然、という話がある。 App

記事を読む

no image

最近読んだ本: iOS デバッグ&最適化技法 2011/06/26

発売されたことは知っていたが、とりあえず必要としてなかったのでずっと買わずにいた、iOSデバッグ&最

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

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

[Xcode] Interface Builder でControl+ドラッグでOutletが作成できない

たまにInterface Builder でUI作っているとはまるの

Ember Mug用のふたを買ってみた

Ember Mug Lid 2022年あけましておめでとうござ

Google Search Console の利用を開始してみた

YouTube DATA API (iOS Quickstart  

Xcode 13.1 アップデート

Apple、統合開発環境「Xcode 13.1」をリリース:Code

watchOS8 アップデート内容

この前購入した Apple Watch SE は watchOS 7

→もっと見る

PAGE TOP ↑