39

我有一个UIActivityViewController我已经排除(使用excludedActivityTypes)所有UIActivityCategoryAction活动类型的。

在 iOS 8.2 中,活动类型UIActivityViewController只显示一行。UIActivityCategoryShare

在 iOS 8.3 中,我得到一个空行UIActivityCategoryAction。请参阅下面的屏幕截图,其中第二行只有“更多”。

如何在 iOS 8.3 中删除UIActivityCategoryActionin a ?UIActivityViewController

在此处输入图像描述

4

5 回答 5

11

在 iOS 8 中,UIActivityViewController 仍然是一个 API,只提供自定义功能,不提供自定义 UI。你无法改变它的外观。您可以更改的视觉样式的唯一部分是自定义 UIActivity 子类的图标。(参考

这就是 Apple 实现这一点的方式,并且从 8.3 开始无法更改。如果你真的想避免多余的行和“更多”按钮,你可以实现一个 UIActivityViewController 替换。以下是最近维护的一对:


过度共享套件

过度共享套件


URBNShareKit

URBNShareKit


参考:

于 2015-05-19T15:05:51.497 回答
1

这是设计使然,因此用户可以添加回他们隐藏的系统和第三方操作。

于 2015-05-13T00:54:14.877 回答
1

更多是系统默认值用于重新排序应用程序。对于扩展(在 IOS 8 中引入),更多按钮用于重新排序应用程序以及在对话中添加应用程序。我们无法控制它。

希望这对您有所帮助。

于 2015-05-13T11:53:36.237 回答
0

我找到了删除 UIActivityCategoryAction 的方法。像这样: 演示

由于 UIActivityCategoryAction 是 CollectionView 的第二部分,你可以找到 collectionView 的 dataSource 并通过方法 swizzling 更改“numberOfSectionsInCollectionView:”的实现。这是演示:在此处输入链接描述

于 2017-04-14T03:51:20.803 回答
0

UIActivityCategoryAction 是 UIColletionView 的第二个section,将section的个数改为1,UIActivityCategoryAction就会消失。

这是 演示

于 2017-04-14T10:17:52.863 回答