如何将UIBarButtonItem tintcolor设置为非默认的UIColor

时间:2015-03-20 22:58:19

标签: ios uibarbuttonitem uicolor tintcolor

我查看了所有典型的导航栏tintcolor教程和问题。我有一个导航栏的设置色调,但我有一个邮件图标,需要在有邮件时更改为自定义颜色。 (如reddit orange邮件图标)

只有在使用系统UIColors时才能正确设置色调。

self.leftNavigationBarButton = [[UIBarButtonItem alloc] initWithImage:someImage style:UIBarButtonItemStylePlain target:self action:@selector(foo:)];
self.navigationItem.leftBarButtonItem = self.leftNavigationBarButton;

self.leftNavigationBarButton.tintcolor = [UIColor redColor];

但是如果我然后使用自定义颜色。

self.leftNavigationBarButton.tintcolor = [UIColor colorWithRed:100 green:40 blue:20 alpha:1.0];

它使图标变白。有谁知道发生了什么或我如何使用自定义颜色?

1 个答案:

答案 0 :(得分:2)

我从这个答案https://stackoverflow.com/a/5642229/1732711中找到了答案。

简短回答是将RGB值除以255.0。

self.leftNavigationBarButton.tintcolor = [UIColor colorWithRed:100/255.0 green:40/255.0 blue:20/255.0 alpha:1.0];