1

我正在尝试共享一个动画 GIF,但默认 UIActivityViewController Twitter 共享尚不支持它,它将“缩小”它作为静止的 JPG,我必须按照本文中的教导使用 SLRequest 。缺点是没有预览共享表,用户不能再键入自己的消息。

但是,我看到SteppyPants似乎在用户单击 Twitter 共享表中的“共享”后使用了自定义操作,他们怎么做?

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

我尝试过的事情:

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

PS我是iOS新手

UIActivityViewController 共享选项 替换自定义操作以共享工作表

4

1 回答 1

1

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

那很接近!

我相信 Steppy Pants 正在做你所说的;为 提供 a ,但UIActivityItemProvider有所 UIActivityViewController不同。

UIActivityItemProvider'item方法被调用时,它会检查是否UIActivityTypeUIActivityTypePostToTwitter,如果是,UIActivityViewController则关闭并呈现一个自定义SLComposeServiceViewController

如果您仔细观察,您会看到:显示的视图控制器没有标题,并且剩余的字符数无法正确响应 URL。然后,该SLComposeServiceViewController对象didSelectPost在启动SLRequest.

于 2016-10-18T06:45:50.840 回答