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 共享 UIActivity 未显示
UIActivityViewController 不适用于 WKWebView
限制 UIActivityViewController 共享扩展活动