使用新的iOS 6,Apple添加了新的UIActivityViewController(图像A)共享菜单,该菜单只有很少的图标按钮可供共享,而不仅仅是旧的UIActionSheet文本按钮。
我想显示一个UIActivityViewController但是有自定义按钮。我知道他们有一个可以显示的默认应用程序列表(邮件,消息,Facebook,Twitter等...)但我想自定义当你点击这些按钮时会发生什么。当您单击邮件共享图标时,它会打开带有新邮件的邮件应用程序,例如我喜欢它,如果单击邮件应用程序时,它会打开Twitter应用程序(不是真的,只是与默认值不同的东西) 。现在我似乎找不到在按钮后面添加我自己的方法的方法。
使用最新的ShareKit,他们添加了Instagram共享,当您选择与其共享时,将显示一个与UIActivityViewController屏幕完全相同的新视图(图像B)。他们似乎已经想出如何添加自定义按钮来执行自定义操作。我搜索了ShareKit代码,但似乎无法找到它在哪里或如何运作。
也许我问的是甚至不可能但是任何帮助都表示赞赏!
图片A
图片B
答案 0 :(得分:9)
看看这个link。这是iOS 6上分享的一个很好的介绍。
以下引用来自此博文:
您甚至可以添加对自己的自定义共享选项的支持,并让
UIActivityViewController
处理与用户的互动。为此,请继承抽象UIActivity
类并覆盖所需的方法(有关详细信息,请参阅文档)。
答案 1 :(得分:2)
Sharekit是一种抽象,不能按照您希望的方式进行自定义。 Apple控制这些服务的接口。
不幸的是,如果您想自定义共享及其工作原理,您需要实现自己的sharekit版本,并为这些服务提供UI和API入口点。
Sharekit存在,所以你不必这样做。随着需求的变化,我预计Apple会随意添加和删除服务。
“按原样”使用API是您最明智的选择。
答案 2 :(得分:1)
我找到了这个很棒的教程。它很棒,
答案 3 :(得分:0)
图像B实际上使用的是Instagrams文档交互代码,而不是具有自定义UIActivity的UIActivityViewController。您可以在此处阅读有关Instagrams“hooks”的更多信息...... custom iphone hooks
UIActivity已由Instagram的第三方创建,您可以找到here ...这会在选择时打开与ShareKit相同的菜单,因为这是将图像直接传递给Instagram的唯一方法。< / p>