1

我目前正在开发一个 iOS 项目,但遇到了一个烦人的问题。

当我将相同的颜色设置为两个不同UIBarButtonItem的 s 时,它们会显示不同的颜色。

看起来很奇怪,有什么想法吗?

代码:

#define UIColorFromRGB(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]


UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemSave target: self action: @selector(save)];

saveButton.tintColor = UIColorFromRGB(0xFF8100);


UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target: self action: @selector(backButtonPressed)];
backButton.tintColor = UIColorFromRGB(0xFF8100);


self.navigationItem.leftBarButtonItem = backButton;
self.navigationItem.rightBarButtonItem = saveButton;
4

1 回答 1

4

这是因为系统提供的保存按钮 (UIBarButtonSystemItemSave) 的颜色与其他按钮不同,以指示按钮的确认或保存性质。

在此处输入图像描述

如果你想要一个相同颜色的保存按钮,你可以使用一个常规按钮并将标题设置为“保存”。

UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] 
                                    initWithTitle:@"Save" 
                                            style:UIBarButtonItemStyleBordered
                                           target:self 
                                           action:@selector(save)];
saveButton.tintColor = UIColorFromRGB(0xFF8100);
于 2013-05-09T10:25:52.793 回答