一个名为Vesper的应用程序已针对 iOS 7 进行了更新,并在 iOS 7 上显示了用户的壁纸。我发现使用 UIApplicationIsOpaque 键和 UIBackgroundStyleLightBlur 可以显示用户背景,但不会通过验证。Vesper 通过了验证并通过了 Apple。我确实将这个问题上传到了开发论坛,但苹果已将其删除。
1 回答
Brent Simmons 写了一篇博客文章来解释它。似乎他们没有使用 UIApplicationIsOpaque 键。
侧边栏
在 1.0 中,我们的侧边栏菜单包括一些顶部和底部填充,以融入状态栏的黑色,并且 - 以及列表视图中的一点阴影 - 给人一种深度感,就好像侧边栏总是坐在后面列表显示。iOS 7 的统一状态栏意味着我们没有相同的黑色来对抗,所以我们不得不重新考虑我们的方法。我们开始从 Apple 内置的 iOS 7 应用程序中寻找灵感,其中有两件事情突然出现在我们面前:Safari 和 Passbook。
在 Safari 中,当您点击打开的页面视图时,您可以看到您自己的主屏幕壁纸在背景中模糊不清。这是微妙的,但它是一个非常好的触摸。
我们喜欢这个想法,并想在我们的侧边栏中尝试一下,看看它会是什么样子。因为 Apple 没有提供实时模糊图像的 API,我们设法通过在侧边栏视图后面放置一个巨大的启用实时模糊的工具栏来绕过它。它在 iPhone 5 上看起来很棒,但在旧款手机上根本不支持实时模糊,侧边栏退回到使用未模糊的主屏幕。
同时,Passbook 的通行证漂浮在不模糊(但变暗)的主屏幕上,使它们感觉更像是漂浮在墙纸上的小部件,就像多任务视图中的应用程序一样。我们决定尝试这种方法,看看有什么效果。
我们经历了大量的迭代来为着色窗口视图和选定状态找到正确的不透明度。无论用户的壁纸如何,我们所做的任何事情都需要看起来不错,并且效果应该令人愉悦但不会分散注意力。毕竟,这是一个菜单。为了使效果与效果保持适当的权重,我们还选择不在 iOS 7-ify 侧边栏图标。他们应该感到有点沉重才能脱颖而出。
一开始是“哦,废话,我们要做什么”的设计问题变成了我们在整个应用程序中最喜欢的视图。不仅看起来很整洁(尤其是主屏幕视差效果赋予的深度感),而且它给了 Vesper 一种人性化的感觉。当您打开侧边栏时,您会看到自己的壁纸。你选择的东西。感觉很私人。此外,它对 iOS 7 的感觉非常真实。
不幸的是,我们直到为时已晚才意识到实现该效果所需的 API 并未被 Apple 记录。我们已经提交了适当的雷达并向 Apple 的人员提出了请求。我们希望该 API 很快可用,我们可以回到我们认为非常棒的设计。