Google Photos iOS应用程序如何定制本机共享表(例如UIActivityViewController)?

Google Photos iOS应用程序如何定制本机共享表(例如UIActivityViewController)?,ios,native,uiactivityviewcontroller,Ios,Native,Uiactivityviewcontroller,当您在Google photos for iOS中共享照片时,Google会在UIActivityViewController的顶部显示自己的自定义视图。我知道这可以通过在顶级UIWindow上绘制您自己的视图来实现,但Google也不知何故隐藏了底部的“取消”按钮并填补了空白,使其成为UIActivityViewController的“全屏”。他们是否以某种方式将UIActivityViewController的视图嵌入到自己的视图中 谷歌照片共享表: 标准股份表: 我在寻找答案,无意中发现

当您在Google photos for iOS中共享照片时,Google会在UIActivityViewController的顶部显示自己的自定义视图。我知道这可以通过在顶级UIWindow上绘制您自己的视图来实现,但Google也不知何故隐藏了底部的“取消”按钮并填补了空白,使其成为UIActivityViewController的“全屏”。他们是否以某种方式将UIActivityViewController的视图嵌入到自己的视图中

谷歌照片共享表:

标准股份表:


我在寻找答案,无意中发现了你的问题,所以我在推特上发了这个问题。马修·比肖夫(Matthew Bischoff)向我指出了这一点,这或多或少可以解释它是如何做到的


简单的回答是,您将UIActivityViewController子类化,并将结果视图弄乱。提示:您需要处理视图控制器视图属性的superview。

谷歌似乎使用了一些不同的功能,因为它允许您选择/取消选择照片,这需要在每次更改后创建新的活动视图控制器。可能在运行时属性中可以看到他们正在启用
allowsEmbedding
标志。