34

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

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

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

这是代码:

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

任何建议,将不胜感激。

4

6 回答 6

29

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

关于 emoji,您可以使用 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 颜色三角形,用于 UIBarButton。

因此,最好同时检查模拟器和实际设备,但无论如何始终使用 Unicode 变体选择器看起来更安全。

于 2012-10-18T09:02:18.927 回答
25

强制浏览器在 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 上完美运行。

于 2016-05-12T14:15:23.443 回答
12

我使用这些 un​​icode 字符来阻止 iOS 摆弄:

直角三角形:► (►)

左三角形:◄ (◄)

更新

如果您要寻找更多的三角形:

上三角:▲ (▲)

下三角:▼ (▼)

于 2016-10-20T07:53:40.803 回答
0

要显示黑色右箭头表情符号,我们应该选择&#9656;代替&#9654;&#9658;以避免Apple Emoji

&#9656;比其他两个小,但您可以设置font-size来调整它。为我工作。

于 2014-06-26T19:24:34.227 回答
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>
于 2020-01-27T22:23:54.193 回答
-3

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

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

希望有帮助。

于 2012-06-24T17:50:07.663 回答