iPhoneアプリ開発の虎の巻
HOME > UIBarButtonItem

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];
【UIBarButtonItemStyle】
スタイル名 説明
UIBarButtonItemStylePlain 枠線が無いボタン
UIBarButtonItemStyleBordered 枠線があるボタン
UBarButtonItemStyleDone 青いボタン
【UIBarButtonSystemItem】
スタイル名 説明
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;
totop