Google 相册 iOS 应用如何自定义原生共享表(例如 UIActivityViewController)?
Posted
技术标签:
【中文标题】Google 相册 iOS 应用如何自定义原生共享表(例如 UIActivityViewController)?【英文标题】:How did the Google Photos iOS app customize the native share sheet (e.g. UIActivityViewController)? 【发布时间】:2017-11-29 22:30:34 【问题描述】:当您在 ios 版 Google 相册中分享照片时,Google 会在 UIActivityViewController 顶部显示自己的自定义视图。我知道这可以通过在*** UIWindow 上绘制您自己的视图来半完成,但 Google 还以某种方式隐藏了底部的“取消”按钮并填补了空白,使其 UIActivityViewController 更加“全屏”。他们是否以某种方式将 UIActivityViewController 的视图嵌入到自己的视图中?
Google 相册分享表:
标准分享表:
【问题讨论】:
【参考方案1】:我正在寻找这个问题的答案,偶然发现了你的问题,所以我在推特上发布了这个问题。 Matthew Bischoff 向我指出了这一点,这应该或多或少地解释了它是如何完成的。 https://github.com/Jasdev/JDSActivityVC
简短的回答是你继承了 UIActivityViewController 并弄乱了结果视图。提示:你需要弄乱视图控制器的视图属性的超级视图。
【讨论】:
看起来 Google 使用了一些不同的东西,因为它允许您选择/取消选择照片 - 这需要在每次更改后创建新的活动视图控制器。也许他们正在启用allowsEmbedding
标志可以在运行时属性中看到。以上是关于Google 相册 iOS 应用如何自定义原生共享表(例如 UIActivityViewController)?的主要内容,如果未能解决你的问题,请参考以下文章