2009-09-22 109 views
1

我有一个导航控制器和我的代码添加1个按钮是这样的:的UIBarButtonItem黑色而不是白色

UIBarButtonItem *configButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"config.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(showConfigWindow)]; 
self.navigationItem.leftBarButtonItem = configButton; 

它的工作权利,但图标是黑色的,而不是白色的!

如果我用这个:

UIBarButtonItem *configButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:self action:@selector(showConfigWindow)]; 

文本正确的白色显示。

图标正常,因为我通过界面生成器使用它们,它们显示正确。

+0

您能提供发生了什么的图片吗?你确定你的图片格式正确,并且没有被反转,出于某种原因? (尝试另一种颜色,看看会发生什么) – Malaxeur 2009-09-22 13:26:23

+0

看看这里:http://personales.upv.es/jorfermo/screenshot.jpg 这是在UIButton中的相同图像。一个是在导航控制器上,另一个是在uitoolbar上。 – Jorge 2009-09-23 07:03:12

回答

0

UIBarButtonItem根据图像阿尔法值呈现灰度图像。因此,如果图像完全不透明,那么无论源图像是什么颜色,它总是会呈现黑色,但如果图像是透明的,则会呈现一些灰色阴影。

为了呈现完全白色或颜色,您需要创建自定义UIBarButtonItem。详情请见Can I have a UIBarButtonItem with a colored image?

相关问题