1

我有那个导航控制器,我通过这种方式通过代码添加 1 个按钮:

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)];

文本以白色正确显示。

这些图标没问题,因为我通过界面生成器使用它们并且它们显示正确。

4

1 回答 1

0

UIBarButtonItem根据图像的 alpha 值以灰度渲染图像。所以,如果你的图像是完全不透明的,那么无论源图像是什么颜色,它都会呈现黑色,但如果你的图像是透明的,它会呈现一些灰色阴影。

为了将其渲染为全白或颜色,您需要创建一个自定义UIBarButtonItem. 请参阅我可以拥有带有彩色图像的 UIBarButtonItem 吗?详情

于 2015-11-23T08:45:17.870 回答