如何给UIButton着色?

时间:2020-03-06 14:36:16  来源:igfitidea点击:

我正在向iPhone UI添加自定义按钮的过程,希望使它们具有Apple应用程序的外观。我有一个很好的默认玻璃图像,但是我不想为我想要的每种色彩(红色,绿色,蓝色等)单独设置一个图像。

有没有办法加载灰度PNG并将其调整为我想要的颜色?更好的是,有没有一种方法可以使Apple获得玻璃般的外观,而不必完全加载自定义图像?

解决方案

我不知道iPhone UI,但是我们可以使用单个PNG来具有颜色变化的图形。

即这些页面上的两个徽标(左上方):

产品

商店

使用此PNG

替代文字http://47degrees.com/images/logos/47_degrees.png

我想我们可能需要将背景色设置为淡淡的玻璃色。

我不知道一种单线方式,但是我们可以通过获取默认的灰度图像并将其与纯色(即在其顶部绘制)进行合成来获得所需的效果。如果我们查看Core Graphics文档,我们会发现有十多种不同的合成方法(例如Color Burn),它们的某种组合可能会产生我们想要的效果。

始终出色的"爱可可"网站上有一个示例:在CoreGraphic中绘制光泽度渐变

我最终创建了自己的自定义按钮,该按钮与联系人编辑视图中"删除联系人"按钮中使用的呈现紧密匹配。

对于那些感兴趣的人,可以在github上找到它:

PFTinted按钮