【发布时间】:2013-09-20 09:22:42
【问题描述】:
我很确定这将是直截了当的,因为它可能是不可能的。
基本上,我希望能够像新的报亭应用一样,通过我的视图轻轻地看到背景壁纸。
我尝试将视图的 alpha 值和背景颜色更改为 clear,但这些似乎都没有。
【问题讨论】:
-
请告诉我该怎么做
我很确定这将是直截了当的,因为它可能是不可能的。
基本上,我希望能够像新的报亭应用一样,通过我的视图轻轻地看到背景壁纸。
我尝试将视图的 alpha 值和背景颜色更改为 clear,但这些似乎都没有。
【问题讨论】:
Apple 已在 7.0.3 中删除了使用此 api 的功能。真可惜。
至少在几天前,您当然可以在 iOS7 中使用。在我们的应用程序中,一旦您设置以下内容,它会使您的背景透明并显示用户壁纸。如果您尝试以编程方式截取屏幕截图,它只会显示为黑色。
在项目plist中设置UIApplicationIsOpaque为false
在应用委托加载函数中:
self.window.backgroundColor = [UIColor clearColor];
self.window.opaque = NO;
将UIViewController.view的背景色设置为[UIColor clearColor]
【讨论】:
好消息。从 iOS 13 开始,终于可以为所有第三方应用启用背景透明度了。它不再是私有 API。
在您应用的
Info.plist文件中,将布尔值设置为UIApplicationIsOpaque到NO。
现在用户的壁纸在您的应用中可见。
【讨论】:
这在 iOS 中是不可能的。当您的应用正在运行时,这并不意味着您的应用后面有主屏幕。
但是,如果您确实想这样做,有一种方法可以让您的应用进入后台,截取屏幕截图并将该图像用作您的背景,感觉就像主屏幕一样。
See this post. 在此链接中,接受的答案提供了一种在您的应用程序处于后台时截取主屏幕屏幕截图的方法。但这是通过私有 API 实现的,这意味着您的应用可能会在提交时被 App Store 拒绝。
【讨论】: