来自 UIApplicationShortcutIcon 的 UIImage

Posted

技术标签:

【中文标题】来自 UIApplicationShortcutIcon 的 UIImage【英文标题】:UIImage from UIApplicationShortcutIcon 【发布时间】:2017-03-25 17:33:57 【问题描述】:

https://developer.apple.com/ios/human-interface-guidelines/graphics/system-icons/ 提供了一些很棒的“快速操作图标”。

是否可以从其中一个UIApplicationShortcutIcons 中创建一个UIImage 以用于例如UIButton。比如邮件图标:

let mailIcon = UIApplicationShortcutIcon(type: .mail)
let mailImage = UIImage( ... )

任何帮助将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

您不能将Quick Action Icons 用作普通图像,也不能在按钮图像中设置。这些仅适用于 3D 触摸快捷方式。当您按下应用程序图标时,它会显示快捷菜单以进行快速操作。您可以在此处使用这些图标。甚至它允许将我们的图像用作快速操作图标。

您也可以参考以下网址作为参考:

    How to add custom images as UIApplicationShortcutIcon for UIApplicationShortcutItem? UIApplicationShortcutItem - Can I use an image downloaded from the web as UIApplicationShortcutIcon? https://developer.apple.com/reference/uikit/uiapplicationshortcuticon

【讨论】:

谢谢 - 有没有办法访问这些官方图标?【参考方案2】:

这些图像无法使用普通 API 获得,但它们是 UIKit 捆绑包的一部分。您可以使用 iOS-Artwork-Extractor 等工具提取这些图像的 1x、2x 和 3x 变体,然后将它们添加到您的项目中。

【讨论】:

【参考方案3】:

你现在可以这样做了:

<dict>
    <key>UIApplicationShortcutItemIconFile</key>
    <string><your image name from assets catalog></string>
</dict>

【讨论】:

以上是关于来自 UIApplicationShortcutIcon 的 UIImage的主要内容,如果未能解决你的问题,请参考以下文章

为啥 WCF 服务能够处理来自不同进程的调用而不是来自线程的调用

来自 viewDidAppear 的 Segue 调用有效,但不是来自 viewWillAppear

求职作业帮 C++方向面经

来自 CWnd 的 ReleaseDC 覆盖来自 winuser 的 ReleaseDC

来自麦克风的声音与来自扬声器的声音

Liferay,来自搜索的 Freemarker 错误模板,但不是来自其他链接