2012-03-26 87 views
1

我使用下面的利用工具栏上的图像添加按钮的代码,但它仅显示颜色没有图像显示。UIToolBar按钮图像

UIBarButtonItem *locationItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"butImg.png"] style:UIBarButtonItemStylePlain target:self action:@selector(butImgPressed:)]; 

任何帮助将不胜感激。

+0

请确保'[UIImage imageNamed:@“butImg.png”]'不为零。 – yuji 2012-03-26 12:21:47

+0

图像不是零,它在图像yuji的地方显示白色,谢谢yuji&Parth。 – Mangesh 2012-03-26 12:27:17

+1

您可能想到的一种解决方法是制作带有此图像的按钮,并将该按钮作为自定义视图添加到条形按钮。 – cocoakomali 2012-03-26 17:39:21

回答

3

只有做到这一点的方法:

UIButton *btnName = [UIButton buttonWithType:UIButtonTypeCustom]; 

[btnName setFrame:CGRectMake(0, 0, 23, 21)]; 

[btnName setBackgroundImage:[UIImage imageNamed:@"butImg.png"] forState:UIControlStateNormal]; 

[btnName addTarget:self action:@selector(butImgPressed:) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *locationItem = [[UIBarButtonItem alloc] initWithCustomView:btnName]; 
+0

谢谢Jignesh,我做了同样的,我想知道为什么图像不显示这个代码UIBarButtonItem * locationItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@“butImg.png”] style:UIBarButtonItemStylePlain target:self动作:@selector(butImgPressed :)]; – Mangesh 2012-03-27 05:49:03

3

你想知道为什么它不工作?

原因UIToolBar正在创建白色蒙版,是因为UIToolBar默认情况下不允许彩色图像。

所以完成你想要的东西的唯一方法是使用UIBarButtonItemUIButton作为customView。

+0

+1 ...原因:) – Mangesh 2013-01-16 07:57:17