※当ブログではアフィリエイト広告を利用しています。
iOSのナビゲーションバーやツールバーにはUIBarButtonItemを使ってボタンを配置できます。ボタンには文字や画像を設定可能ですが、システムで用意されているアイコンを使用することもできます。しかし数が多いため使う度に調べている気がします。
そこでシステムで用意されているアイコンUIBarButtonSystemItemの種類とアイコン画像を一覧にしてまとめたのでメモします。
UIBarButtonSystemItemの種類とアイコン画像を調べた方法
Single View Applicationを作成し、あらかじめStoryboardの「Editor」→「Embed In」→「Navigation Controller」でViewControllerをナビゲーションコントローラーに埋め込んでおきます。
その上で、かなり無理矢理な方法ですがObjective-Cで以下のコードで調べました。(UIBarButtonSystemItemFlexibleSpaceとUIBarButtonSystemItemFixedSpaceは空間を開ける用のアイテムのため除外)
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *systemBarButtons = @[
[NSNumber numberWithInteger:UIBarButtonSystemItemDone],
[NSNumber numberWithInteger:UIBarButtonSystemItemCancel],
[NSNumber numberWithInteger:UIBarButtonSystemItemEdit],
[NSNumber numberWithInteger:UIBarButtonSystemItemSave],
[NSNumber numberWithInteger:UIBarButtonSystemItemAdd],
// [NSNumber numberWithInteger:UIBarButtonSystemItemFlexibleSpace],
// [NSNumber numberWithInteger:UIBarButtonSystemItemFixedSpace],
[NSNumber numberWithInteger:UIBarButtonSystemItemCompose],
[NSNumber numberWithInteger:UIBarButtonSystemItemReply],
[NSNumber numberWithInteger:UIBarButtonSystemItemAction],
[NSNumber numberWithInteger:UIBarButtonSystemItemOrganize],
[NSNumber numberWithInteger:UIBarButtonSystemItemBookmarks],
[NSNumber numberWithInteger:UIBarButtonSystemItemSearch],
[NSNumber numberWithInteger:UIBarButtonSystemItemRefresh],
[NSNumber numberWithInteger:UIBarButtonSystemItemStop],
[NSNumber numberWithInteger:UIBarButtonSystemItemCamera],
[NSNumber numberWithInteger:UIBarButtonSystemItemTrash],
[NSNumber numberWithInteger:UIBarButtonSystemItemPlay],
[NSNumber numberWithInteger:UIBarButtonSystemItemPause],
[NSNumber numberWithInteger:UIBarButtonSystemItemRewind],
[NSNumber numberWithInteger:UIBarButtonSystemItemFastForward],
[NSNumber numberWithInteger:UIBarButtonSystemItemUndo],
[NSNumber numberWithInteger:UIBarButtonSystemItemRedo],
[NSNumber numberWithInteger:UIBarButtonSystemItemPageCurl]
];
NSMutableArray *barbuttons = [NSMutableArray new];
for (NSNumber *buttonStyle in systemBarButtons) {
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:[buttonStyle integerValue]
target:self
action:nil];
[barbuttons addObject:button];
}
self.navigationItem.leftBarButtonItems = barbuttons;
}
実行すると以下のような感じでナビゲーションバーにズラーっとボタンが並びます。
UIBarButtonSystemItemの種類とアイコン画像の一覧
それでは一覧です。システムアイコンの並び順はUIKitのUIBarButtonItem.hで定義されているものと同じです。
| ボタンスタイル | アイコン画像 |
|---|---|
| UIBarButtonSystemItemDone | |
| UIBarButtonSystemItemCancel | |
| UIBarButtonSystemItemEdit | |
| UIBarButtonSystemItemSave | |
| UIBarButtonSystemItemAdd | |
| UIBarButtonSystemItemFlexibleSpace | – |
| UIBarButtonSystemItemFixedSpace | – |
| UIBarButtonSystemItemCompose | |
| UIBarButtonSystemItemReply | |
| UIBarButtonSystemItemAction | |
| UIBarButtonSystemItemOrganize | |
| UIBarButtonSystemItemBookmarks | |
| UIBarButtonSystemItemSearch | |
| UIBarButtonSystemItemRefresh | |
| UIBarButtonSystemItemStop | |
| UIBarButtonSystemItemCamera | |
| UIBarButtonSystemItemTrash | |
| UIBarButtonSystemItemPlay | |
| UIBarButtonSystemItemPause | |
| UIBarButtonSystemItemRewind | |
| UIBarButtonSystemItemFastForward | |
| UIBarButtonSystemItemUndo | |
| UIBarButtonSystemItemRedo | |
| UIBarButtonSystemItemPageCurl | (出現せず) |
システムで用意されているボタンのスタイル一覧UIBarButtonSystemItemはUIKitフレームワークのUIBarButtonItem.hで以下のように定義されています。
typedef NS_ENUM(NSInteger, UIBarButtonSystemItem) {
UIBarButtonSystemItemDone,
UIBarButtonSystemItemCancel,
UIBarButtonSystemItemEdit,
UIBarButtonSystemItemSave,
UIBarButtonSystemItemAdd,
UIBarButtonSystemItemFlexibleSpace,
UIBarButtonSystemItemFixedSpace,
UIBarButtonSystemItemCompose,
UIBarButtonSystemItemReply,
UIBarButtonSystemItemAction,
UIBarButtonSystemItemOrganize,
UIBarButtonSystemItemBookmarks,
UIBarButtonSystemItemSearch,
UIBarButtonSystemItemRefresh,
UIBarButtonSystemItemStop,
UIBarButtonSystemItemCamera,
UIBarButtonSystemItemTrash,
UIBarButtonSystemItemPlay,
UIBarButtonSystemItemPause,
UIBarButtonSystemItemRewind,
UIBarButtonSystemItemFastForward,
#if __IPHONE_3_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED
UIBarButtonSystemItemUndo,
UIBarButtonSystemItemRedo,
#endif
#if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED
UIBarButtonSystemItemPageCurl,
#endif
};
おわりに
備忘録としてメモしました。次回からはどのスタイルがどのボタンかすぐにわかりそうです。








