我有一个表情符号,我希望它是白色的,但是当我运行该程序时,它显示为红色。如何将其更改为白色?
rating.text = "\(♥♥♥♥♥)"
rating.textColor = UIColorRGB("ffffff")
答案 0 :(得分:4)
following answer解释了为什么你不能改变表情符号字符的颜色。字形本质上是图像。
如果您希望能够使用可以着色的心形符号,请尝试使用其中一个非表情符号心形字符,例如♥︎
。
或确保标签的字体未使用Apple Color Emoji字体。
答案 1 :(得分:0)
我需要为一个项目执行此操作,并找到了解决该问题的几种方法。每个都有其局限性,但仍然是有用的技巧。
首先,您可以在表情符号后附加Unicode text presentation selector,以使其呈现为文本,然后使用字体颜色。
限制:
该表情符号的文本表示可能不可用,而您获得了未知的字符表示。
文本表示的细节通常较少
或者,您可以在表情符号本身上使用CSS过滤器来更改其色调(加上饱和度,对比度,灰度等)
限制:
需要访问页面的CSS(适用于您自己的网页,但您不能在instagram帖子中使用它)
表情符号图形取决于应用程序,因此结果 可能是不可预测的。例如,firefox上的文件夹图标是 (目前)是丑陋的蓝色。我将其过滤为黄色,但在 其他代码(以黄色开头的其他浏览器)下面的代码将引起我尝试修复的问题!
无论如何,下面是一些使用css和html两种方法的示例:
.folderitem_normal:before {
content:'\1f4c2';
margin-right:4px;
}
.folderitem_presentation_selector:before {
color: magenta;
content:'\1f4c2\FE0E';
margin-right:4px;
}
.folderitem_css_filter:before {
content:'\1f4c2';
filter: hue-rotate(180deg) brightness(1.5);
margin-right:4px;
}
<div class="folderitem_normal">Normal appearance of emoji for comparison (HTML 📂)</div>
<div class="folderitem_presentation_selector">Presentation selector. Notice how it has been colored like normal text. (HTML 📂︎)</div>
<div class="folderitem_css_filter">Css filter looks nice, but results are application-dependent. (HTML = N/A)</div>