UIToolbarに並んでいるUIBarButtonItemのイメージを変更する方法です。
普通に[UIBarButtonItem setImage:UIImage]したら変更できるのかと思っていたら、全然変わらない罠が。。。
どうやら、変更後のイメージを設定したUIButtonをカスタムビューとして設定したUIBarButtonItemを新たに作って、UIToolbarに設定しないとイケナイようです。
// 変更後のイメージ
UIImage *img = [UIImage imageNamed:@"hoge"];
// 変更後のイメージを設定するボタン
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
// イメージを設定
[button setImage:img forState:UIControlStateNormal];
// ボタンにターゲットを設定
[button addTarget:self action:@selector(onButtonClicked:) forControlEvents:(UIControlEventTouchUpInside)];
button.frame = CGRectMake(0, 0, img.size.width, img.size.height);
// 変更後のBarButtonを用意
UIBarButtonItem *barButton = [[UIBarButtonItem alloc]initWithCustomView:button];
// styleを変更(変更できない・・・)
[barButton setStyle:UIBarButtonItemStyleBordered];
barButton.style = UIBarButtonItemStyleDone;
// 既存のtoolbarのアイテムを取得
NSArray *barButtonItemArray = [self.myToolBar items];
NSMutableArray *changedBarButtonItemArray = [NSMutableArray arrayWithArray:barButtonItemArray];
// イメージを変更したいアイテムを入れ替える
[changedBarButtonItemArray replaceObjectAtIndex:4 withObject:barButton];
// 変更後のアイテムの一覧をtoolbarに設定する
self.myToolBar.items = changedBarButtonItemArray;
[barButton setStyle:UIBarButtonItemStyleBordered];
barButton.style = UIBarButtonItemStyleDone;
なんかー、スタイルを変更したくてもできないしー。
###他に方法あるんじゃないんですか・・・?
###教えて偉い人。。。