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

标签 ios cocoa-touch unicode uibutton uiimage

我想找到一种将人字形添加到我的按钮的有效方法,类似于 Apple 在 iTunes 中的做法。例如,在下图中,您可以在“查看全部”和“条款和条件”文本后看到一个 V 形。是否有看起来像这样的 unicode 字符,或者如果没有,是否有实现相同效果的简单方法?

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

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

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

enter image description here

最佳答案

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

enter image description here enter image description here enter image description here

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

enter image description here

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

.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 代码。

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


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

关于ios - 像 Apple 那样在按钮中插入人字形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33863988/

相关文章:

ios - cellForRowAtIndexPath 的替代方案

ios - 在 MKMapView 中围绕当前位置添加随机 MKAnnotations

iphone - 如何在 sqlite 和 iPhone 中使用 LIKE 查询

python - 如何从 python(3) 中的 unicode 字符串打印 unicode 转义序列?

objective-c - 如何跨多个 View 访问核心数据?

javascript - 在 PhoneGap iOs App 中发生 "pause"事件后是否可以访问网络?

ios - 如何从 iOS 中其他 View Controller 的 TextView 中获取 NSDictionary 中的值

ios - 为 CGFloat 赋值时使用 'f' 有什么意义?

winapi - #define _UNICODE 不适用于 MinGW + CodeBlocks

c++ - 无法读取 Unicode 字符 - C++