首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UIActivityItemProvider中自定义UIActivityTypePostToFacebook的行为

在UIActivityItemProvider中自定义UIActivityTypePostToFacebook的行为
EN

Stack Overflow用户
提问于 2013-11-24 18:09:42
回答 1查看 1K关注 0票数 1

我不相信有一种方法可以做我要问的事情,但我想我会问一下以防万一。

我目前正在对UIActivityItemProvider进行子类化,以便为各种社交媒体平台提供自定义消息:

代码语言:javascript
复制
- (id)item
{
    if ([self.activityType isEqualToString:UIActivityTypePostToFacebook]) {
        //Possibly present some view modally here to let the user decide on text to return?
        return @"Some facebook message";
    } else if ([self.activityType isEqualToString:UIActivityTypePostToTwitter]) {
       return @"Some Tweet";      
    } 
}

问题是,我想为用户提供一个中间选项来定制他们想要在facebook上发布的消息(“一些facebook消息”)。理想情况下,这应该是一个UIActionSheet,用户可以在其中选择三个选项中的一个来设置数据的格式。

UIActionSheet只是一个例子,但您可以想象在片段中呈现的其他类型的自定义视图,从用户单击facebook图标直到他们看到实际的UI为止,他们在其中键入帖子的文本。

有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2015-10-22 06:41:34

您只需实现NSObject的一个子类并实现UIActivityItemSource协议。然后,从activityViewController:itemForActivityType:返回一个NSURL对象。这将作为Facebook帖子的URL附件,您可以将其传递给UIActivityViewController

如果安装了Facebook应用程序,它将打开应用程序的共享对话框,否则将打开iOS本地共享对话框,并将网址作为附件。

根据Facebook的指导原则,您不能预先填充共享的文本。你可以用Twitter做到这一点,但要做到这一点,你必须为NSObject创建另一个子类,并实现UIActivityItemSource,并从同一消息中返回一个NSString。这将作为tweet的文本。

同样,我相信返回一个UIImage可以将它设置为Facebook的附件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20173366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档