Ios 重写由内置UIActivity类型执行的活动

Ios 重写由内置UIActivity类型执行的活动,ios,uiactivityviewcontroller,uiactivity,Ios,Uiactivityviewcontroller,Uiactivity,是否可以覆盖由UIActivityViewController使用的内置UIActivity类型执行的活动 例如,我希望Facebook活动使用我自己的自定义视图,而不是内置视图。我知道您可以将UIActivity子类化以创建自己的特定于应用程序的活动,但您是否始终坚持内置活动的默认行为?您无法覆盖内置活动。您所能做的最好的事情就是停用它们,并用您自己的UIActivity子类替换它们。从功能上讲,这与覆盖它们具有相同的效果 然而,这在视觉上意味着您必须为这些服务提供自己的图标图像。然后,苹果的

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


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

您无法覆盖内置活动。您所能做的最好的事情就是停用它们,并用您自己的UIActivity子类替换它们。从功能上讲,这与覆盖它们具有相同的效果


然而,这在视觉上意味着您必须为这些服务提供自己的图标图像。然后,苹果的代码将拍摄这些图像,扔掉颜色数据,并使用alpha地图在苹果通常的黑点背景下制作一个灰度色调的版本。您不能为自己的自定义活动提供彩色图像。这大概是为了阻止人们复制“官方”服务图标,并为自己的目的颠覆它们,也就是说,假装在Facebook上发布一些东西,而实际上却做了一些完全不同的事情。

你不能覆盖内置UIActivity类型的行为-但是你可以通过提供你自己的
UIActivityItemProvider
子类来覆盖它们获得的数据。 为了这个,你必须越界
因此,虽然它不是您想要的100%,但您至少可以根据自己的意愿调整内置的活动。

是的,您可以自定义任何UIActivity。我担心这是唯一的方法。没有那么好。