バーに配置する左三角矢印ボタンを作る
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を参照する必要があります。