UIBarButtonItem
UIBarButtonItemは、ツールバーやナビゲーションバーなどに表示するボタンを管理するクラスです。
自作することも出来ますし、システムで用意されたボタンから選んで使うことも出来ます。
UIBarButtonItemのクラス階層
NSObject
↑
UIBarItem
↑
UIBarButtonItem
生成
// タイトルとボタンのスタイルを指定した生成例
UIBarButtonItem *btn =
[[UIBarButtonItem alloc]
initWithTitle:@"ぼたん" // ボタンタイトル名を指定
style:<UIBarButtonItemStyleスタイル> // スタイルを指定(※下記表参照)
target:self // デリゲートのターゲットを指定
action:@selector(hoge) // ボタンが押されたときに呼ばれるメソッドを指定
];
// システムで用意されている画像を使った生成例
UIBarButtonItem *btn =
[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:<UIBarButtonSystemItemスタイル> // スタイルを指定
target:self // デリゲートのターゲットを指定
action:@selector(hoge) // ボタンが押されたときに呼ばれるメソッドを指定
];
// 画像を指定した生成例
UIBarButtonItem *btn =
[[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@"hoge.png"] // 画像を指定
style:<UIBarButtonItemStyleスタイル> // スタイルを指定(※下記表参照)
target:self // デリゲートのターゲットを指定
action:@selector(hoge) // ボタンが押されたときに呼ばれるメソッドを指定
];
// UIButtonを指定した生成例
UIButton *uibtn = [UIButton buttonWithType:UIButtonTypeContactAdd];
[btn addTarget:self action@selector(hoge:)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *btn =
[[[UIBarButtonItem alloc] initWithCustomView:uibtn] autorelease];
| スタイル名 | 説明 |
|---|---|
| UIBarButtonItemStylePlain | 枠線が無いボタン |
| UIBarButtonItemStyleBordered | 枠線があるボタン |
| UBarButtonItemStyleDone | 青いボタン |
| スタイル名 | 説明 |
|---|---|
| UIBarButtonSystemItemDone | 「Done」ボタン |
| UIBarButtonSystemItemCancel | 「Cancel」ボタン |
| UIBarButtonSystemItemEdit | 「Edit」ボタン |
| UIBarButtonSystemItemSave | 「Save」ボタン |
| UIBarButtonSystemItemAdd | 「+」ボタン |
| UIBarButtonSystemItemCompose | ノートの上にペンが乗っているイメージ |
| UIBarButtonSystemItemReply | 左向きの矢印 |
| UIBarButtonSystemItemAction | ノートから矢印が出ているイメージ |
| UIBarButtonSystemItemOrganize | フォルダのイメージ |
| UIBarButtonSystemItemBookmarks | 本を開いたイメージ |
| UIBarButtonSystemItemSearch | 虫眼鏡のイメージ |
| UIBarButtonSystemItemRefresh | ぐるっと回った矢印のイメージ |
| UIBarButtonSystemItemStop | 「x」 |
| UIBarButtonSystemItemCamera | カメラのイメージ |
| UIBarButtonSystemItemTrash | ゴミ箱のイメージ |
| UIBarButtonSystemItemPlay | 再生ボタン(左向きの三角形) |
| UIBarButtonSystemItemPause | 一時停止ボタン(「||」) |
| UIBarButtonSystemItemRewind | 巻き戻しボタン |
| UIBarButtonSystemItemFastForward | 進めるボタン |
| UIBarButtonSystemItemUndo | 「Undo」ボタン |
| UIBarButtonSystemItemRedo | 「Redo」ボタン |
| UIBarButtonSystemItemPageCurl | ボタンがぺろんとめくれているイメージ |
| UIBarButtonSystemItemFlexibleSpace | 可変スペース |
| UIBarButtonSystemItemFixedSpace | 固定スペース ※設定の仕方は下記使用例を参照。 |
UIBarButtonItemのプロパティ
上記「UIBarButtonItemのクラス階層」にあるクラスのプロパティが使用できます。
UIBarButtonItemのメソッド
上記「UIBarButtonItemのクラス階層」にあるクラスのメソッドも使用できます。
UIBarButtonItem使用例
// ナビゲーションバーの右側に表示する。
self.navigationItem.rightBarButtonItem = btn;
// ナビゲーションバーの左側に表示する。
self.navigationItem.leftBarButtonItem = btn;
※btnはUIBarButtonItemのインスタンスです。
// 固定スペースのサイズを100pxに設定する
UIBarButtonItem *fixspacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
fixspacer.width = 100.0;

