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

Myo*_*age 33 unicode ios

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

所有想要的是一个黑色的小指向右三角形:

十进制六角
▸9656▸25B8

这是代码:

NSString *title = [NSString  stringWithFormat:@"%d payments of %@ ? ?", duration, [Utils formatPrice:payment]];
   [button setTitle: title forState: UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

任何建议,将不胜感激.

Tsu*_*oka 27

这不是关于改变字体,而是关于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".

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

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

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

  • 在iOS 9中有这个问题的CSS`content:"\ 25C0";` - 将它改为`content:"\ 25C0\FE0E"`似乎为我修复它(等待一些QA). (6认同)

Far*_*ide 20

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

而不是直接使用HTML实体:

&#9664; <!-- ? BLACK LEFT-POINTING TRIANGLE -->
&#9654; <!-- ? BLACK RIGHT-POINTING TRIANGLE -->
Run Code Online (Sandbox Code Playgroud)

我用HTML创建了支持元素:

<span class="left-pointing-triangle">&nbsp;</span>
<span class="right-pointing-triangle">&nbsp;</span>
Run Code Online (Sandbox Code Playgroud)

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

.left-pointing-triangle::after {
  content: "\25C0 \FE0E";
}
.right-pointing-triangle::after {
  content: "\25B6 \FE0E";
}
Run Code Online (Sandbox Code Playgroud)

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

  • 这个答案对我有用,谢谢. (2认同)

ne1*_*10s 10

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

直角三角形:►(►)

左三角形:◄(◄)

更新

如果你想要更多三角形:

上三角形:▲(▲)

三角形:▼(▼)


Jef*_*mas -3

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

您可能想尝试使用不同的字体。

希望有帮助。