※当ブログではアフィリエイト広告を利用しています。
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 };
おわりに
備忘録としてメモしました。次回からはどのスタイルがどのボタンかすぐにわかりそうです。