これを使って :
UIBarButtonItem *barButton= [[UIBarButtonItem alloc] initWithCustomView:customButton];
任意のビューでボタンを初期化できます。任意の (許容可能な) ビューを内部に持つボタンを作成できます。
例えば。
// GRAPHICAL BUTTON FRAMEWORK
UIButton* btton = [UIButton buttonWithType:UIButtonTypeCustom];
[btton setFrame:CGRectMake(0, 0, 30, 30)];
[btton addTarget:self action:@selector(SOMEROUTINE) forControlEvents:UIControlEventTouchUpInside];
[btton setImage:[UIImage imageNamed:@"SOME IMAGE"] forState:UIControlStateNormal];
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:btton];
お役に立てば幸いです。