首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖由内置UIActivity类型执行的活动

覆盖由内置UIActivity类型执行的活动
EN

Stack Overflow用户
提问于 2013-01-08 06:35:40
回答 2查看 1.4K关注 0票数 5

是否可以覆盖由UIActivityViewController使用的内置UIActivity类型执行的活动?

例如,我希望Facebook活动使用我自己的自定义视图,而不是内置的视图。我知道你可以子类化UIActivity来创建你自己的特定于应用的活动,但是你总是坚持内置活动的默认行为吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-02 19:00:09

你不能重写内置的代码。您能做的最好的事情就是停用它们,并用您自己的UIActivity子类替换它们。从功能上讲,这与覆盖它们具有相同的效果。

然而,在视觉上,这意味着您必须为这些服务提供您自己的图标图像。然后,苹果的代码将获取这些图像,丢弃颜色数据,并使用alpha地图在苹果通常的黑点背景下生成灰度着色版本。您不能为您自己的自定义活动提供彩色图像。据推测,这是为了阻止人们复制“官方”服务图标,并出于自己的目的对其进行颠覆,即假装在Facebook上发布一些东西,而实际上却做了一些完全不同的事情。

票数 6
EN

Stack Overflow用户

发布于 2014-01-15 18:03:43

您不能覆盖内置UIActivity类型的行为-但是,您可以通过提供自己的UIActivityItemProvider子类来覆盖它们获得的数据。要做到这一点,你必须重写– activityViewController:itemForActivityType:,所以虽然它不是你想要的100%的东西,但你至少可以根据你的意愿改变一下内置的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14205308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档