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;