UIActivityViewController。如何定制它?

Posted

技术标签:

【中文标题】UIActivityViewController。如何定制它?【英文标题】:UIActivityViewController. How to customize it? 【发布时间】:2012-09-25 09:16:39 【问题描述】:

我想在我的 iPad 应用程序中创建一个 UIActivityViewController,但我在 Google 上找不到任何东西,因为它是一个仅在 ios 6 中实现的新视图。 UIActivityView 是当用户点击时出现的视图,例如,照片应用程序中的共享按钮。 一组活动由活动视图控制器呈现(通过电子邮件发送、在 facebook 上共享、打印 ecc...)。 每个活动都由一个图标和一个显示在图标下方的标题表示。 现在我想自定义视图中的项目,但我找不到怎么做? 有什么想法吗?

【问题讨论】:

【参考方案1】:

没有必要继承UIActivityViewController。相反,创建您自己的UIActivity 子类,然后使用您的活动数组实例化UIActivityViewController

- (id)initWithActivityItems:(NSArray *)activityItems applicationActivities:(NSArray *)applicationActivities;

【讨论】:

我不想要我自己的活动,但除了一些以外的默认活动(我想要邮件和打印,但不要在 Facebook 上分享) @user1679847 如the docs 中所述,UIActivityViewController 有一个excludedActivityTypes 属性,您可以设置该属性以防止出现某些活动类型,因此您应该能够通过包含@987654329 来排除Facebook @ 在那个列表中。 谢谢!这就是我想要的! 你知道如何让它出现在弹出框控制器中吗?就像照片应用一样! 如果activities 是您的UIActivityViewController,则创建一个弹出框,并将其作为其内容视图控制器:popover = [[UIPopoverController alloc] initWithContentViewController:activities]; 然后像往常一样呈现它。仅此而已。【参考方案2】:

REActivityViewController 可能是您正在寻找的。它还允许自定义比 UIActivityViewController 更多。尝试一下。 :)

【讨论】:

以上是关于UIActivityViewController。如何定制它?的主要内容,如果未能解决你的问题,请参考以下文章

UIActivityViewController 背景颜色

UIActivityViewController 共享 UIActivity 未显示

UIActivityViewController 不适用于 WKWebView

限制 UIActivityViewController 共享扩展活动

尝试呈现 UIActivityViewController 时崩溃

更改 UIActivityViewController 的 navigationBar 的颜色