如何重新排列 UIActivityViewController 上的活动?

Posted

技术标签:

【中文标题】如何重新排列 UIActivityViewController 上的活动?【英文标题】:How to rearrange activities on a UIActivityViewController? 【发布时间】:2013-09-27 21:43:30 【问题描述】:

我正在使用UIActivityViewController,但我想重新排列可用活动的顺序。现在它选择显示它们的顺序,并在一个可滚动的行上有一堆,然后在分隔符下方有更多。是否可以重新排列这些显示的顺序,或者将其中一些移动到分隔线下方?

【问题讨论】:

你能贴一些代码吗? 什么代码有用?它只是一个带有一些额外应用程序活动的 UIActivityViewController。 【参考方案1】:

除了您的自定义活动之外,您无法重新排序活动。 它们将按照您提供它们的顺序出现。但它们总是出现在标准活动之后。您可以指定自定义活动出现在哪一行。您的自定义 UIActivity 应该覆盖 activityCategory 方法并返回 UIActivityCategoryActionUIActivityCategoryShare

【讨论】:

我在 ios 8 上尝试过,系统忽略了我的自定义活动数组的顺序。【参考方案2】:

UIActivityViewController 目前不提供任何机制来指定可用活动的顺序,也不提供指定出现在分隔符上方和下方的能力。

UIActivityViewController 有第三方替代品,例如 REActivityViewController,它们提供了更多的自定义选项,但我认为它还没有针对 iOS 7 进行更新。

【讨论】:

虽然第三方替代方案无法支持所有内置共享类型,例如 AirDrop 等。 您关于无法指定哪个出现在上面和哪个出现在下面的说法是不正确的。自定义活动可以通过activityCategory 指定。

以上是关于如何重新排列 UIActivityViewController 上的活动?的主要内容,如果未能解决你的问题,请参考以下文章

重新排列表格视图单元格后如何更新核心数据记录

使用 Core Data 时如何重新排列部分

如何重新排列javascript循环中的数字?

如何重新排列列表索引

在iOS 15中如何重新排列和删除主屏幕页面?

如何重新排列数组中的数据,使两个相似的项目不相邻?