6

在新的 iOS 6 中,Apple 添加了新的 UIActivityViewController (image A) 共享菜单,其中有小图标按钮可供共享,而不仅仅是旧的 UIActionSheet 文本按钮。

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

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

也许我要问的甚至还不可能,但感谢您的帮助!

图像 A图像 A

图像 B图像 B

4

4 回答 4

9

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

以下引用来自此博客文章:

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

于 2012-10-16T07:06:20.253 回答
2

Sharekit 是一种抽象,无法以您希望使用的方式进行定制。Apple 控制这些服务的接口。

不幸的是,如果您想自定义共享及其工作方式,您将需要实现自己的 sharekit 版本,以及这些服务的 UI 和 API 入口点。

Sharekit 存在,因此您不必这样做。随着时间的推移,需求会发生变化,我预计 Apple 会随意添加和删除服务。

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

于 2012-10-16T07:16:49.667 回答
1

我发现了这个很棒的教程。效果很好,

自定义 UIActivityView 控制器

于 2013-04-25T21:33:02.707 回答
0

图片 B 实际上使用的是 Instagram 文档交互代码,而不是带有自定义 UIActivity 的 UIActivityViewController。您可以在此处阅读有关 Instagram 的“挂钩”的更多信息……自定义 iphone 挂钩

一个 UIActivity 已由 Instagram 的第 3 方创建,您可以在此处找到……这将打开与 ShareKit 相同的菜单,因为这是将图像直接传递到 Instagram 的唯一方法。

于 2012-10-16T19:20:18.030 回答