如何阻止iOS将小的直角三角形转换为矩形盒装三角形符号?

时间:2012-06-24 14:52:03

标签: ios unicode

enter image description here 我尝试进入小指向右三角形和右箭头字符,两者都被iOS转换为分别带有直角三角形和右箭头的矩形图标。我可以声明一种不同的字体来阻止这种情况发生吗?或者我需要关闭默认设置吗?

所有想要的是一个黑色的小直角三角形:

十进制十六进制
▸9656▸25B8

以下是代码:

NSString *title = [NSString  stringWithFormat:@"%d payments of %@ ➡ ▶", duration, [Utils formatPrice:payment]];
   [button setTitle: title forState: UIControlStateNormal];

任何建议都将不胜感激。

6 个答案:

答案 0 :(得分:25)

这不是关于改变字体,而是关于unicode变化。 在Unicode 6.1上,一个unicode代码点可以有多个字形,您可以选择那些使用变体选择器。

对于关于表情符号,您可以使用U + FE0E(@“\ U0000FE0E”)来选择文本样式图。 (并且,U + FE0F(@“\ U0000FE0F”)适用于Apple Color Emoji)。

例如,LEFT-POINTING TRIANGLE的unicode代码点为U + 25C0(@“\ U000025C0”),您可以指定不使用Apple Color Emoji但使用非彩色符号,如@“\ U000025C0 \ U0000FE0E”。< / p>

此外,iOS模拟器(针对Mountain Lion上的iOS6)和实际设备(iOS6)之间存在一些关于变体选择器处理的差异,可能是因为Mountain Lion对Unicode 6.1有更多的支持,我猜。

例如,如果我没有指定选择器,我会在iOS6设备上看到非彩色三角形,但在iOS6模拟器上(在Mountain Lion上)看到Apple Color三角形,用于UIBarButton。

因此,检查模拟器和实际设备都很好,但无论如何总是使用Unicode变量选择器看起来更安全。

答案 1 :(得分:18)

迫使浏览器在iPad / iPhone上呈现HTML实体是一种挑战,但我设法找到了解决方案,这就是诀窍。

而不是直接使用HTML实体:

&#9664; <!-- ◀ BLACK LEFT-POINTING TRIANGLE -->
&#9654; <!-- ▶ BLACK RIGHT-POINTING TRIANGLE -->

我用HTML创建了支持元素:

<span class="left-pointing-triangle">&nbsp;</span>
<span class="right-pointing-triangle">&nbsp;</span>

使用CSS ::after伪元素覆盖了内容:

.left-pointing-triangle::after {
  content: "\25C0 \FE0E";
}
.right-pointing-triangle::after {
  content: "\25B6 \FE0E";
}

重要的是使用content: "\25C0 \FE0E",而不仅仅是符号本身content: "\25C0"。它可以在不同iOS版本的iPad和iPhone上完美运行。

答案 2 :(得分:7)

我使用这些unicode字符阻止iOS摆弄:

右三角形:►(&amp;#x25ba)

左三角形:◄(&amp;#x25c4)

更新

如果你想要更多三角形:

向上三角形:▲(&amp;#x25b2)

三角形:▼(&amp;#x25bc)

答案 3 :(得分:0)

要显示黑色右箭头表情符号,我们应选择&#9656;而不是&#9654;&#9658;,以避免使用Apple表情符号

&#9656;小于其他两个,但您可以设置font-size进行调整。 适合我。

答案 4 :(得分:0)

您可以在现代浏览器中的SVG中渲染小三角形。

右三角形:

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="8" height="16" viewBox="0 0 5 10">
  <polygon fill="black" points="0,0 5,5 0,10" />
</svg>

左三角形:

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="8" height="16" viewBox="0 0 5 10">
  <polygon fill="black" points="0,5 5,0 5,10" />
</svg>

答案 5 :(得分:-2)

这似乎是25B8的系统字体字形。我认为2B05(向左黑箭头)和25C0(黑左箭头三角形)也会发生同样的情况。它们是Apple Emoji的一部分。

您可能想尝试使用其他字体。

希望有所帮助。