[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

[iOS] iOS6 から起動時に一度 Portraitになる挙動が変更された模様

iOS6 からは画面の回転関係の仕様が整理されたのか、いろいろと変更が入っている。 まず - (B

記事を読む

iOS用アイコンをまとめて生成する

しばらく開発してきたアプリがようやくリリースできる状態になってきたので、知り合いのデザイナーと飲み

記事を読む

[Apple Watch] 2017年の冬休みの宿題はwatchOSアプリ開発

自分はPebble初代のころからスマートウォッチはPebble派だったが、2016年の年末は Peb

記事を読む

LogLocations 1.4.0 写真表示対応

行動ログは取りたいが、何も操作したくない。という自分のようなずぼらなログ好きユーザ向けのアプリ、L

記事を読む

Pebble Time 届いた。これはいいものだ

Pebble Time 発表されたのでさっそく出資 | tokentoken.com で 2015

記事を読む

LogLocations 1.4.5 リリース

LogLocations 1.4.5 をリリースしました。 LogLocat

記事を読む

[買ってみた] 新しいAirPods

2019年3月20日に突如発表された、新しい AirPods を買ってみた。 新型「

記事を読む

no image

iOS開発におけるパターンによるオートマティズム の感想

タイトルを見ていまいち内容が類推できなかったのもあり買うつもりはなかったのだが、fladdict

記事を読む

Clime もうすぐ発送?

自分以外に注目している人を見たことがない Clime だが、メールでせかしていたらもうすぐ発送してく

記事を読む

no image

iPhone 3G 起動せず

奥さんのiPhone 3G は年末あたりに一度充電できなくなったのだが、その後復活していた。 しかし

記事を読む

Message

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

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

ポモドーロテクニック用物理タイマーならTime Timer

会社ではなかなか自由に時間を使えないが、家で読書や作業をする

DELL 32インチディスプレイ U3223QE 購入

Dell U3223QE は解像度 3840x216

WWDC 2023 Vision Pro発表

2023/6/5 (日本時間 2023/06/06 2AM)のWWD

M1 MacBook Air を Venturaにアップデートする

M1 MacBook Air を macOS Montere

iOS16でaurioTouch の inBufferFramesが1になる

https://developer.apple.com/librar

→もっと見る

PAGE TOP ↑