iOS 8 vibrancy 图像未在设备上显示
iOS 8 vibrancy image not showing on device
所以我使用 Xcode 为 iOS 8 创建了一个简单的应用程序,并在界面生成器中使用了新的 "Visual Effects View with Blur and Vibrancy" 对象。它适用于文本,但所有图像似乎 只能在模拟器中工作 ,none 在任何硬件上。
为了准确说明我的意思,这里有一个比较。
模拟器中的屏幕截图(预期外观):
iPhone 上的屏幕截图(8.3,与模拟器版本相同):
所以三个圆形元素是:一个图像,一个与背景图像相同的按钮,以及相同但没有活力效果的按钮("norm. btn")。看起来模糊 + 活力效果是在 Xcode 中通过两个 "Visual Effect views" 实现的 - 一个仅实现模糊的顶视图,以及一个在属性 "vibrancy" 中选中的嵌套视图 window。
知道为什么会这样吗?我真的很喜欢图像中充满活力的外观,但它不适用于我的 iPhone 5s 或我的 iPad Air 2。
非常感谢!!!
更新:
我做了一些研究,发现我收到警告“被要求为其不透明度设置动画。这将导致效果出现中断,直到不透明度 returns 为 1。”最初我以为这破坏了活力效果,但在删除所有动画并且不再收到警告后,图像仍然不可见。我发现警告只是意味着当 VisualEffectView 的 alpha 还不是 1 时,活力不会开始工作(看起来是灰色的)。
我还发现图像确实显示了(以 "broken" 方式,即看起来黑色而不是充满活力的过渡),但当 alpha 达到 1 时它们消失了。
这是一个部分解决方案:将资产目录中的图像切换为模板图像:
至少这样你会在设备上看到一些东西。
EDIT 实际上,Apple 对此很明确。我引用 UIVisualEffectView.h header:
UIImageView will need its image to have a rendering mode of UIImageRenderingModeAlwaysTemplate to receive the proper effect.
所以我使用 Xcode 为 iOS 8 创建了一个简单的应用程序,并在界面生成器中使用了新的 "Visual Effects View with Blur and Vibrancy" 对象。它适用于文本,但所有图像似乎 只能在模拟器中工作 ,none 在任何硬件上。
为了准确说明我的意思,这里有一个比较。
模拟器中的屏幕截图(预期外观):
iPhone 上的屏幕截图(8.3,与模拟器版本相同):
所以三个圆形元素是:一个图像,一个与背景图像相同的按钮,以及相同但没有活力效果的按钮("norm. btn")。看起来模糊 + 活力效果是在 Xcode 中通过两个 "Visual Effect views" 实现的 - 一个仅实现模糊的顶视图,以及一个在属性 "vibrancy" 中选中的嵌套视图 window。
知道为什么会这样吗?我真的很喜欢图像中充满活力的外观,但它不适用于我的 iPhone 5s 或我的 iPad Air 2。
非常感谢!!!
更新: 我做了一些研究,发现我收到警告“被要求为其不透明度设置动画。这将导致效果出现中断,直到不透明度 returns 为 1。”最初我以为这破坏了活力效果,但在删除所有动画并且不再收到警告后,图像仍然不可见。我发现警告只是意味着当 VisualEffectView 的 alpha 还不是 1 时,活力不会开始工作(看起来是灰色的)。
我还发现图像确实显示了(以 "broken" 方式,即看起来黑色而不是充满活力的过渡),但当 alpha 达到 1 时它们消失了。
这是一个部分解决方案:将资产目录中的图像切换为模板图像:
至少这样你会在设备上看到一些东西。
EDIT 实际上,Apple 对此很明确。我引用 UIVisualEffectView.h header:
UIImageView will need its image to have a rendering mode of UIImageRenderingModeAlwaysTemplate to receive the proper effect.