创建类似于新的iOS 6按钮共享的自定义共享视图

时间:2012-10-16 07:00:18

标签: iphone objective-c ios sharekit uiactivityviewcontroller

使用新的iOS 6,Apple添加了新的UIActivityViewController(图像A)共享菜单,该菜单只有很少的图标按钮可供共享,而不仅仅是旧的UIActionSheet文本按钮。

我想显示一个UIActivityViewController但是有自定义按钮。我知道他们有一个可以显示的默认应用程序列表(邮件,消息,Facebook,Twitter等...)但我想自定义当你点击这些按钮时会发生什么。当您单击邮件共享图标时,它会打开带有新邮件的邮件应用程序,例如我喜欢它,如果单击邮件应用程序时,它会打开Twitter应用程序(不是真的,只是与默认值不同的东西) 。现在我似乎找不到在按钮后面添加我自己的方法的方法。

使用最新的ShareKit,他们添加了Instagram共享,当您选择与其共享时,将显示一个与UIActivityViewController屏幕完全相同的新视图(图像B)。他们似乎已经想出如何添加自定义按钮来执行自定义操作。我搜索了ShareKit代码,但似乎无法找到它在哪里或如何运作。

也许我问的是甚至不可能但是任何帮助都表示赞赏!

图片A image A

图片B image B

4 个答案:

答案 0 :(得分:9)

看看这个link。这是iOS 6上分享的一个很好的介绍。

以下引用来自此博文:

  

您甚至可以添加对自己的自定义共享选项的支持,并让UIActivityViewController处理与用户的互动。为此,请继承抽象UIActivity类并覆盖所需的方法(有关详细信息,请参阅文档)。

答案 1 :(得分:2)

Sharekit是一种抽象,不能按照您希望的方式进行自定义。 Apple控制这些服务的接口。

不幸的是,如果您想自定义共享及其工作原理,您需要实现自己的sharekit版本,并为这些服务提供UI和API入口点。

Sharekit存在,所以你不必这样做。随着需求的变化,我预计Apple会随意添加和删除服务。

“按原样”使用API​​是您最明智的选择。

答案 2 :(得分:1)

我找到了这个很棒的教程。它很棒,

Custom UIActivityViewcontroller

答案 3 :(得分:0)

图像B实际上使用的是Instagrams文档交互代码,而不是具有自定义UIActivity的UIActivityViewController。您可以在此处阅读有关Instagrams“hooks”的更多信息...... custom iphone hooks

UIActivity已由Instagram的第三方创建,您可以找到here ...这会在选择时打开与ShareKit相同的菜单,因为这是将图像直接传递给Instagram的唯一方法。< / p>