像 Apple 那样在按钮中插入人字形?

Inserting a chevron into a button like Apple does?

我想找到一种有效的方法来将人字形添加到我的按钮,类似于 Apple 在 iTunes 中的做法。例如,在下图中,您可以看到文本 "See All" 和 "Terms and Conditions." 之后有一个 V 形符号 是否有一个看起来像这样的 unicode 字符,或者如果没有,是否有一种简单的方法来实现相同的效果?

我尝试搜索 unicode 字符,但我发现的所有 V 形符号要么太粗、太高,要么太小。

注意:我知道我可以将自动布局与 UIImageView 一起使用,但这似乎有些过分,特别是如果我希望两个元素居中对齐,如下面的 "Terms and Conditions" 示例所示。这将涉及类似的事情,例如将超级视图添加到按钮和图像,添加必要的约束以将其调整到子视图的框架,然后将这个新的超级视图对齐到中心。这将产生大约 8 个约束和 3 个视图,而不是理想情况下的 2 个约束和一个视图。另外,它不会使人字形可点击。 (由于手指匹配模糊,在 iPhone 上没什么大不了的,但在模拟器中它很明显。)

我希望有任何更简单的方法来做到这一点,例如使用 unicode 字符,或直接在按钮内添加图像。

我刚刚注意到他们的网站上有类似的图标:

在这种情况下,他们创建了自定义字体 appleicons_text:

然后他们将 more class 添加到任何需要人字形的元素。实际加人字形的相关CSSclass是:

.more:after {
    font-family: as-AppleIcons;
    content: ""
}

请注意,content 看起来是空的,但实际上在第二个引号附近有一个隐藏的 V 形字符。如果您安装了该字体,您应该会看到人字形图标。 (将该行粘贴到文本编辑中将显示一个问号字符。)

最后,他们确保 as-AppleIcons 将显示在您的浏览器中:

@font-face {
    font-family: as-AppleIcons;
    url(assets/ac-appleicons/fonts/appleicons_text.ttf) format("truetype")
}

注意:我省略了一堆 css 与此答案没有直接关系的代码。

Apple imported this font into iOS 有可能使用 NSAttributedString 来产生相同的效果。


更新: 看起来有一个开源项目在做类似的事情,叫做 Font Awesome,到目前为止有超过 650 个图标。