2013-04-10 116 views
0

我添加了一個UIToolBar到一個UIViewController和在它加入UIBarButton,並且還增加了對顯示圖像的代碼中的背景,但圖像不顯示UIBarButton背景圖像顯示問題

這裏是我的代碼

UIBarButtonItem *b1=[[UIBarButtonItem alloc]initWithTitle:@" Home " style:UIBarButtonItemStyleBordered target:self action:@selector(home:)]; 
[b1 setImage:[UIImage imageNamed:@"b1image.png"]]; 

UIBarButtonItem *b3=[[ UIBarButtonItem alloc]initWithTitle:@" WorkOuts " style:UIBarButtonItemStyleBordered target:self action:nil]; 
[b1 setImage:[UIImage imageNamed:@"b3image.png"]]; 

UIBarButtonItem *b4=[[UIBarButtonItem alloc]initWithTitle:@" All Exercises " style:UIBarButtonItemStyleBordered target:self action:@selector(all:)]; 
[b1 setImage:[UIImage imageNamed:@"b4image.png"]]; 

NSArray *li=[[NSArray alloc]initWithObjects:b1,b3,b4, nil]; 

self.toolBar.items=li; 
+0

您應該使用'initWithImage:style:target:action:'創建'UIBarButtonItem'。 – Desdenova 2013-04-10 08:48:10

+0

我嘗試這個,但實際圖像insted – user2256034 2013-04-10 08:57:02

+0

請問是否有可能在UIBarButtonItem設置bacgrpnd圖像,請幫助Desdenova – user2256034 2013-04-10 09:56:30

回答

0

看一看在documentationUIBarButtonItem

您可以使用一個UIButton顯示圖像:

UIImage *image = [UIImage imageNamed:@"b1image"]; 
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setFrame:CGRectMake(0.f, 0.f, image.size.width, image.size.height)]; 
[button setImage:image forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(home:) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *b1 = [[UIBarButtonItem alloc] initWithCustomView:button]; 

這應該解決您的問題並正確設置圖像。 setImage:是從另一個類繼承而來,並且對UIBarButtonItem沒有影響。

+0

請多一件事我的圖像放什麼尺寸 – user2256034 2013-04-10 08:45:51

+0

我嘗試圖像不來背景請 – user2256034 2013-04-10 08:49:10

+0

通常' UIToolbar'有44px的高度,所以我會建議30px的高度,尺寸取決於你想要顯示的內容。您甚至可以完全改變工具欄的大小以滿足您的需求。 @see http://stackoverflow.com/questions/2135407/is-there-a-way-to-change-the-height-of-a-uitoolbar – btype 2013-04-10 08:50:48