iOS 7应用程序如何让自己透明地查看用户的主屏幕图像?

msk*_*skw 22 ios

我见过一些应用程序(例如Vesper或iPad的提醒应用程序)使用用户的主屏幕背景图像.怎么可能?

制作透明的View或Window或(Gulp!)私有API必须是某种聪明的技巧?

谁猜错了? 在此输入图像描述 在此输入图像描述

Sim*_*mon 12

我自己没有尝试过,但我听说私人方法[[UIApplication sharedApplication] _setApplicationIsOpaque: NO]可以做你想要做的事情.

  • 事实证明,info.plist中的UIApplicationIsOpaque具有相同的影响(并且,我打赌,被拒绝的可能性相同). (3认同)
  • 此外,您还需要添加一件事:您所在的视图必须具有backgroundcolor = clearcolor以及其背后的所有超级视图. (3认同)
  • 我可以确认这种方法确实有效.虽然我有点怀疑上面的应用程序正在使用什么(Apple通常不会善用私有API). (2认同)
  • 真的希望这不是一个私有API,它是如此好的效果,在iOS7应用程序中如此普遍!如果他们允许,它会使我们的应用程序与操作系统更加统一.另外,如果让它自动生成,请不要忘记在AppDelegate中删除窗口的任何颜色,默认情况下它是白色的. (2认同)
  • 我只是注意到上面的应用已删除此效果.相反,他们使用默认墙纸(galaxy pic)并将其模糊化,以获得有人仍在使用该BG的最大概率.HAHAH. (2认同)
  • 只是iOS 8.2测试版的更新,此解决方案不再适用 (2认同)
  • @Simon,我不知道他们是否删除了这个方法,但是如果你使用这个方法,它就会无声地失败.我已经在我拥有的所有模拟器和设备上进行了测试 (2认同)