バーに配置する左三角矢印ボタンを作る

SafariではBackボタン、Forwardボタンとして左右向きの三角ボタンが配置されていますが、
UIBarButtonSystemItemの中ではUIBarButtonSystemItemPlayの右向きしか用意されていません。

実際には、用途が異なるので画像を自前で用意してCustomButtonとして作成するのが正解だとは
思いますが、折角システムにUIBarButtonSystemItemPlayがあるので反転させて作ります。


    UIToolbar *toolbar = [[[UIToolbar alloc] initWithFrame:CGRectMake(0,0,320,44)] autorelease];
    UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay 
                                                                                 target:self 
                                                                                 action:@selector(backAction:)] autorelease];
    UIToolbar *bar = [[[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 44, 44)] autorelease];
    bar.transform = CGAffineTransformMakeScale(-1,1);
    [bar setItems:[NSArray arrayWithObject:backButton]];
    UIBarButtonItem *wrappedBackButton = [[[UIBarButtonItem alloc] initWithCustomView:bar] autorelease];
    
    UIBarButtonItem *forwardButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay 
                                                                                    target:self 
                                                                                    action:@selector(forwardAction:)] autorelease];
    
    [toolbar setItems:[NSArray arrayWithObjects:wrappedBackButton, forwardButton, nil]];
    [self.view addSubview:toolbar];

こんな感じになります。

UIBarButtonItemはNSObjectの継承ですがUIToolbarはUIViewの継承なのでtransformが使えます。
Toolbar#setItemsはcopy属性なので、ボタンを参照して操作する時は深い方のbackButtonを参照する必要があります。