【发布时间】:2020-06-19 04:07:30
【问题描述】:
新的 iOS 13 共享表提供了一个漂亮的标题,显示正在共享的项目的上下文。
不过,我无法弄清楚如何更改项目描述。我使用了 activityViewControllerLinkMetadata 函数,它部分地为我提供了我需要的东西(更改标题和图标),但负责显示项目描述的 originalURL 只接受 URL,如果我们从字符串创建 URL,则每个字符串都必须转义( %20 的空间,例如)。
@available(iOS 13.0, *)
func activityViewControllerLinkMetadata(_: UIActivityViewController) -> LPLinkMetadata? {
let metadata = LPLinkMetadata()
metadata.title = song.title
if let data = song.artistNames.data(using: .utf8) {
let url = URL(dataRepresentation: data, relativeTo: nil)
metadata.originalURL = URL(dataRepresentation: data, relativeTo: nil)
if let image = image {
metadata.iconProvider = NSItemProvider(object: image)
}
}
return metadata
}
App Store 和 Music 应用可以做到这一点 - 有没有人知道这一点?
【问题讨论】:
标签: ios ios13 uiactivityviewcontroller ios-sharesheet