我尝试使用我的项目的.xcassets捆绑包中的.png图片来创建一个UIApplicationShortcutIcon,使用init.templateImageName选项,如下所示。
icon = UIApplicationShortcutIcon(templateImageName: "john3")
let type = "com.company.app.sendChatTo"
let subtitle = "Send a chat"
let shortcutItem1 = UIApplicationShortcutItem(type: type, localizedTitle: contactName, localizedSubtitle: subtitle, icon: icon, userInfo: nil)
let shortcutitems = [shortcutItem1]
UIApplication.shared.shortcutItems = shortcutitems
但它显示黑色空白图像。
然而,它还检测图像的边界大小,它是肖像或风景。但它是黑色的。这是我的形象。
如果我错过了某些内容,请告诉我,这很容易,应该很容易完成,不幸的是,这会造成微不足道的问题。
答案 0 :(得分:0)
模板图像的处理方式与普通图像不同。
来自UIApplicationShortcutIcon init(templateImageName: String)
API reference:
图标应为方形,单色和35x35点,如这些模板文件所示,如UIKit用户界面目录和iOS人机界面指南中的模板图像所述。
来自UIKit User Interface Catalog guide:
模板图像
在iOS 7中,您可以选择将应用中的任何图片视为模板或模板图像。当您选择将图像视为模板时,系统会忽略图像的颜色信息,并根据图像中的Alpha值创建图像模板(图像中alpha值小于1.0的部分被视为完全透明) 。然后可以使用tintColor重新着色此模板以匹配用户界面的其余部分。
您的应用程序快捷方式图标选项为:
- 中所述
系统提供的常见类型库中的图标,如
UIApplicationShortcutIconType
枚举从应用程序包中的自定义模板图像派生的图标,最好是在资产目录中
表示用户通讯录中联系人的图标,可通过ContactsUI框架访问