我正在尝试将我的应用程序移动为使用 UIActivityViewController,而不是 UIActionSheet,以便我获得精美的图形共享按钮而不是文本按钮。 (我的应用程序仅针对 iOS 6。)
在尝试使用它几个晚上之后,似乎要么我完全误解了如何使用它,要么苹果当前的实现很糟糕:
您不能为不同的服务指定不同的消息。如果我想要一些可以在邮件、Facebook、消息和 Twitter 上使用的内容,则最多需要 140 个字符才能在 Twitter 上使用。有没有办法为每种类型的活动设置自定义内容?
似乎无法为邮件消息设置主题行或收件人。我读过文档,他们说这听起来像是使用 mailto: 协议的 NSURL 是可能的,但在我的测试中,这些 URL 只是被推到消息正文中。实际上有没有办法设置主题行和可选的收件人?
如果我想解决这些缺点,并通过子类化 UIActivity 来执行我自己的自定义活动,我必须使用自定义图像/图标。因此,我无法用苹果官方图标模仿邮件活动,例如实现我自己的自定义活动后端,实际上可以让我设置主题行、收件人、自定义正文等。我错了吗?有没有办法使用Apple的服务图标,但有机会自定义行为? (我看到的唯一回调是在活动完成后运行的回调,对吧?)
我希望我错了!
有没有办法为每种类型的活动设置自定义内容?
是的,我想你应该子类化UIActivityItemProvider
和覆盖方法–activityViewController:itemForActivityType:
符合您的逻辑(例如,将 Twitter 的字符串修剪为 140 个字符)。
然后将此类的实例传递给-[UIActivityViewController initWithActivityItems:applicationActivities:]
.
实际上有没有办法设置主题行和可选的收件人?
你是对的,mailto
方案应该能够设置这些字段。如果它不起作用,我认为这是错误。 (我自己没有尝试过,但我会检查一下。)
有没有办法使用苹果的服务图标,但有机会自定义行为?
我认为你不能这样做。 (除非您想破解这些系统活动。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)