如何在 UIActivityViewController 中添加自定义条目
how to add a custom entry in UIActivityViewController
当我从 iPhone 或 iPad 邮件应用程序打开附件时,会出现一个可以将文件传输到第三方应用程序的弹出窗口。
此 iOS 弹出窗口称为 UIActivityViewController。
我想在此弹出窗口中添加我自己的 iOS 应用程序(用 swift 编写),但我不知道该怎么做...
谢谢
我相信你问的是两件不同的事情。
UIActivityViewController:
这是我应用中的代码。
let vc = UIActivityViewController(activityItems: [shareImage], applicationActivities: [])
vc.excludedActivityTypes = [
UIActivityType.airDrop,
UIActivityType.assignToContact,
UIActivityType.addToReadingList,
//UIActivityType.copyToPasteboard,
//UIActivityType.mail,
//UIActivityType.message,
//UIActivityType.openInIBooks,
//UIActivityType.postToFacebook,
//UIActivityType.postToFlickr,
UIActivityType.postToTencentWeibo,
//UIActivityType.postToTwitter,
UIActivityType.postToVimeo,
UIActivityType.postToWeibo,
UIActivityType.print,
//UIActivityType.saveToCameraRoll
]
present(vc,
animated: true,
completion: nil)
vc.popoverPresentationController?.sourceView = self.view
vc.completionWithItemsHandler = {(activity, success, items, error) in
}
注意 excludedActiviyTypes 代码。我的应用程序是一个图像效果应用程序,所以我注释掉了我希望在弹出窗口中显示的内容 - 微博、打印、assignToContact、ReadingList、Vimeo 和 TencentWeibo。事情是这样的——我保留了完整的活动列表以供快速参考。 (我从来没有在ADC上找到它并最终通过使用代码完成得到它。)
UIActivityType 是一个扩展结构,所以如果您想以这种方式使用它,我认为您必须 (1) 将 UIActivityViewController 子类化,(2) 编写您自己的 UIActivityType 扩展,以及 (3 ) 提供 any/all 使用上面未列出的服务所需的代码。
一个Document Provider is what I think you are looking for. Either that, or Universal - sometimes called Deep - Linking。 (链接指向 Apple 文档以供使用。)
我显然使用过 UIActivityiewController,但(目前)还没有任何需要这两个。
如果您对设置 UIActivityViewController 有疑问,post 请在评论中提出。如果其他人有办法 "extend" 它以我描述以外的任何方式,请告诉我,我会删除这个答案。
当我从 iPhone 或 iPad 邮件应用程序打开附件时,会出现一个可以将文件传输到第三方应用程序的弹出窗口。
此 iOS 弹出窗口称为 UIActivityViewController。
我想在此弹出窗口中添加我自己的 iOS 应用程序(用 swift 编写),但我不知道该怎么做...
谢谢
我相信你问的是两件不同的事情。
UIActivityViewController:
这是我应用中的代码。
let vc = UIActivityViewController(activityItems: [shareImage], applicationActivities: [])
vc.excludedActivityTypes = [
UIActivityType.airDrop,
UIActivityType.assignToContact,
UIActivityType.addToReadingList,
//UIActivityType.copyToPasteboard,
//UIActivityType.mail,
//UIActivityType.message,
//UIActivityType.openInIBooks,
//UIActivityType.postToFacebook,
//UIActivityType.postToFlickr,
UIActivityType.postToTencentWeibo,
//UIActivityType.postToTwitter,
UIActivityType.postToVimeo,
UIActivityType.postToWeibo,
UIActivityType.print,
//UIActivityType.saveToCameraRoll
]
present(vc,
animated: true,
completion: nil)
vc.popoverPresentationController?.sourceView = self.view
vc.completionWithItemsHandler = {(activity, success, items, error) in
}
注意 excludedActiviyTypes 代码。我的应用程序是一个图像效果应用程序,所以我注释掉了我希望在弹出窗口中显示的内容 - 微博、打印、assignToContact、ReadingList、Vimeo 和 TencentWeibo。事情是这样的——我保留了完整的活动列表以供快速参考。 (我从来没有在ADC上找到它并最终通过使用代码完成得到它。)
UIActivityType 是一个扩展结构,所以如果您想以这种方式使用它,我认为您必须 (1) 将 UIActivityViewController 子类化,(2) 编写您自己的 UIActivityType 扩展,以及 (3 ) 提供 any/all 使用上面未列出的服务所需的代码。
一个Document Provider is what I think you are looking for. Either that, or Universal - sometimes called Deep - Linking。 (链接指向 Apple 文档以供使用。)
我显然使用过 UIActivityiewController,但(目前)还没有任何需要这两个。
如果您对设置 UIActivityViewController 有疑问,post 请在评论中提出。如果其他人有办法 "extend" 它以我描述以外的任何方式,请告诉我,我会删除这个答案。