【问题标题】:How did the Google Photos iOS app customize the native share sheet (e.g. UIActivityViewController)?Google 相册 iOS 应用如何自定义原生共享表(例如 UIActivityViewController)?
【发布时间】:2017-11-29 22:30:34
【问题描述】:

当您在 iOS 版 Google 相册中分享照片时,Google 会在 UIActivityViewController 顶部显示自己的自定义视图。我知道这可以通过在顶级 UIWindow 上绘制您自己的视图来半完成,但 Google 还以某种方式隐藏了底部的“取消”按钮并填补了空白,使其 UIActivityViewController 更加“全屏”。他们是否以某种方式将 UIActivityViewController 的视图嵌入到自己的视图中?

Google 相册分享表:

标准分享表:

【问题讨论】:

    标签: ios native uiactivityviewcontroller


    【解决方案1】:

    我正在寻找这个问题的答案,偶然发现了你的问题,所以我在推特上发布了这个问题。 Matthew Bischoff 向我指出了这一点,这应该或多或少地解释了它是如何完成的。 https://github.com/Jasdev/JDSActivityVC

    简短的回答是你继承了 UIActivityViewController 并弄乱了结果视图。提示:你需要弄乱视图控制器的视图属性的超级视图。

    【讨论】:

    • 看起来 Google 使用了一些不同的东西,因为它允许您选择/取消选择照片 - 这需要在每次更改后创建新的活动视图控制器。也许他们正在启用allowsEmbedding 标志可以在运行时属性中看到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多