UiBarButtonItem与“完成”按钮颜色相同

时间:2012-05-10 19:02:47

标签: objective-c xcode uibarbuttonitem uicolor

我希望能够以编程方式将UIBarButtonItem添加到导航栏并将其色调设置为与Apple的“完成”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值。

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

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

3 个答案:

答案 0 :(得分:14)

我用我的DigitalColor Meter花了大约15分钟,基本上猜到并检查,直到我终于得到它。问题是你在黑色按钮上添加了“色调”使其变蓝,因此它不会是正确的蓝色。这是正确的测量结果:

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

希望它可以帮助某人:)

答案 1 :(得分:8)

您需要UIBarButtonItemStyleDone而不是UIBarButtonItemStyleBordered

答案 2 :(得分:5)

user1641653的建议颜色只是使用色度计拍摄的真实DoneButton的底色。问题是plain / borderer按钮的阴影与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]];