栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过UIActivityViewController(Twitter,Facebook,Instagram)与主题标签共享图像

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过UIActivityViewController(Twitter,Facebook,Instagram)与主题标签共享图像

定义两个

UIActivityItemSource
类,一个用于 Image ,一个用于 Text

在第一个中,仅返回图像。在第二个中返回

NSObject()
placeHolder,然后返回
Text
nil
取决于活动。通过返回
NSObject()
,UIActivity将允许所有服务可用。

UIActivityViewController(activityItems: [ImageProvider(), TextProvider()], applicationActivities: nil)

和提供者:

class TextProvider: NSObject, UIActivityItemSource {    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {        return NSObject()    }    func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType) -> Any? {        if activityType == .postToTwitter || activityType == .postToFacebook { return "Tweet with #Hashtag"        }        return nil    }}class ImageProvider: NSObject, UIActivityItemSource {    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {        return UIImage(named: ...)    }    func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType) -> Any? {        return UIImage(named: ...)    }}

讲解

首先,密钥并不是真正敏感的,唯一的敏感密钥是电子邮件和支持它的应用程序的“主题”,它是在

UIActivityController
API中实现的,我们可以直接对其进行设置。您提供
UIImage
键“
image”还是“ 1” 都没关系。

事实证明,如果未在方法中 _ 直接_
返回其文本,则Twitter活动将不起作用

...itemForActivity...
。因此,解决方案是分离物料来源。

如果未

placeholder
收到Twitter活动,则Twitter活动也将不起作用,
String
但通过返回
String
Instagram活动将不起作用,因此,通过返回
NSObject()
Type将被忽略,并且所有服务将可用。如果您想限制某些服务的使用
UIActivityViewController.excludedActivityTypes



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413225.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号