4

我希望能够以编程方式将 a 添加UIBarButtonItem到导航栏并将其色调设置为与 Apple 的 "Done" 完全相同的蓝色阴影UIBarButtonItem

我已经在这段代码中为 Apple 的红色阴影做了这个:

UIBarButtonItem *myDeleteButton = [[UIBarButtonItem alloc] initWithTitle:@"Clear" style:UIBarButtonItemStyleBordered target:self action:@selector(myDeleteItemsMethod:)];
myDeleteButton.tintcolor = [[UIColor alloc] initwithRed:1 green:0.0470275 blue:0.0116515 alpha:1];
self.navigationItem.rightBarButtonItem = myDeleteButton;

我想我需要的只是 RGB 值。

我很难尝试“逆向工程”UIBarButtonItem's在 Storyboard 中制作的色调(无法转换UIColor为文本)。

而且我还意识到 Xcode 的调色板有一个用于“开发人员”配色方案的区域,但它似乎没有包含“完成”按钮的颜色。

4

3 回答 3

14

我用我的 DigitalColor Meter 花了大约 15 分钟,基本上是猜测和检查,直到我最终得到它。问题是您正在为黑色按钮添加“色调”以使其变为蓝色,因此它不会是正确的蓝色。以下是正确的测量值:

[buttonName setTintColor:[UIColor colorWithRed:34.0/255.0 green:97.0/255.0 blue:221.0/255.0 alpha:1]];

希望它可以帮助某人:)

于 2012-09-02T09:57:55.240 回答
8

你想要UIBarButtonItemStyleDone而不是UIBarButtonItemStyleBordered.

于 2012-05-10T19:10:38.137 回答
5

user1641653 的建议颜色只是用色度计拍摄的真实 DoneButton 的底部颜色。问题是普通/边框按钮的阴影与 SystemButton 的阴影不同。阴影会将建议的颜色更改为 -11、-36、-11。因此,如果您真的希望它看起来像真正的 DoneButton,您必须将这些值添加到建议的 34/97/221。

这表示:

[yourButton setTintColor:[UIColor colorWithRed:45.0/255.0 green:133.0/255.0 blue:232.0/255.0 alpha:1]]; 
于 2013-05-25T12:03:21.687 回答