用SLRequest替换UIActivityViewController twitter post动作

时间:2016-07-08 06:08:51

标签: ios twitter gif uiactivityviewcontroller slrequest

我正在尝试分享一个动画GIF,但默认UIActivityViewController Twitter共享doesn't support它还将“缩小”它作为一个静止的JPG,我必须按照{{3}中的教导使用SLRequest }。其缺点是没有预览共享表,用户无法再输入自己的消息。

但是,我看到this article用户在Twitter共享表单击“共享”后似乎正在使用自定义操作,他们怎么能这样做?

换句话说,如何将UIActivityViewController twitter共享操作替换为包含SLRequest的自定义操作。

我尝试的事情:

  • UIActivityItemProvider并检查UIActivityTypePostToTwitter,但是 这是在用户点击twitter之后和编辑文本之前运行的
  • 在UIActivityViewController中,completionWithItemsHandler删除刚刚结束的帖子(仍然使用gif)并使用SLRequest再次发布,但不太确定我是否可以删除旧帖子,无论如何它都在为用户消耗网络带宽
  • SLComposeViewController,不支持动画GIF上传,也不支持自定义共享操作

P.S。我是iOS newb

SteppyPants UIActivityViewController share options

1 个答案:

答案 0 :(得分:1)

  

UIActivityItemProvider并检查UIActivityTypePostToTwitter,但是在用户点击twitter之后和编辑文本之前运行

非常接近!

我相信Steppy Pants正在做你说的话;向UIActivityItemProvider提供UIActivityViewController,但有一点扭曲。

调用UIActivityItemProvider item方法后,它会检查UIActivityTypeUIActivityTypePostToTwitter是否为UIActivityViewController,如果是,则SLComposeServiceViewController为被解雇,并提出了自定义SLComposeServiceViewController

如果你仔细观察,你会看到:呈现的视图控制器没有标题,剩下的字符数没有正确响应URL。然后didSelectPost对象实现SLRequest以在启动<h3 class="inapp_textw" ng-repeat="product in products" ng-click="buy(product.productId)">{{product}}</h3> 时显示微调器UI。