iOSのシステムで用意されているバーボタンUIBarButtonSystemItemのアイコン画像一覧まとめ


UiBarButtonSystemItems

※当ブログではアフィリエイト広告を利用しています。

iOSのナビゲーションバーやツールバーにはUIBarButtonItemを使ってボタンを配置できます。ボタンには文字や画像を設定可能ですが、システムで用意されているアイコンを使用することもできます。しかし数が多いため使う度に調べている気がします。

そこでシステムで用意されているアイコンUIBarButtonSystemItemの種類とアイコン画像を一覧にしてまとめたのでメモします。

UIBarButtonSystemItemの種類とアイコン画像を調べた方法

Single View Applicationを作成し、あらかじめStoryboardの「Editor」→「Embed In」→「Navigation Controller」でViewControllerをナビゲーションコントローラーに埋め込んでおきます。
ナビゲーションコントローラーへの埋め込み

その上で、かなり無理矢理な方法ですがObjective-Cで以下のコードで調べました。(UIBarButtonSystemItemFlexibleSpaceUIBarButtonSystemItemFixedSpaceは空間を開ける用のアイテムのため除外)

- (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の種類とアイコン画像の一覧

それでは一覧です。システムアイコンの並び順はUIKitUIBarButtonItem.hで定義されているものと同じです。

ボタンスタイル アイコン画像
UIBarButtonSystemItemDone UIBarButtonSystemItemDone
UIBarButtonSystemItemCancel UIBarButtonSystemItemCancel
UIBarButtonSystemItemEdit UIBarButtonSystemItemEdit
UIBarButtonSystemItemSave UIBarButtonSystemItemSave
UIBarButtonSystemItemAdd UIBarButtonSystemItemAdd
UIBarButtonSystemItemFlexibleSpace
UIBarButtonSystemItemFixedSpace
UIBarButtonSystemItemCompose UIBarButtonSystemItemCompose
UIBarButtonSystemItemReply UIBarButtonSystemItemReply
UIBarButtonSystemItemAction UIBarButtonSystemItemAction
UIBarButtonSystemItemOrganize UIBarButtonSystemItemOrganize
UIBarButtonSystemItemBookmarks UIBarButtonSystemItemBookmarks
UIBarButtonSystemItemSearch UIBarButtonSystemItemSearch
UIBarButtonSystemItemRefresh UIBarButtonSystemItemRefresh
UIBarButtonSystemItemStop UIBarButtonSystemItemStop
UIBarButtonSystemItemCamera UIBarButtonSystemItemCamera
UIBarButtonSystemItemTrash UIBarButtonSystemItemTrash
UIBarButtonSystemItemPlay UIBarButtonSystemItemPlay
UIBarButtonSystemItemPause UIBarButtonSystemItemPause
UIBarButtonSystemItemRewind UIBarButtonSystemItemRewind
UIBarButtonSystemItemFastForward UIBarButtonSystemItemFastForward
UIBarButtonSystemItemUndo UIBarButtonSystemItemUndo
UIBarButtonSystemItemRedo UIBarButtonSystemItemRedo
UIBarButtonSystemItemPageCurl (出現せず)

システムで用意されているボタンのスタイル一覧UIBarButtonSystemItemUIKitフレームワークの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
};

おわりに

備忘録としてメモしました。次回からはどのスタイルがどのボタンかすぐにわかりそうです。