UIVisualEffectView在不同设备上的呈现方式不同

San*_*aus 17 ios swift ios8

在我的ViewController.swift:

var img = UIImageView(image: UIImage(named: "puddles"))

img.frame = view.bounds;
view.addSubview(img);


var effect = UIBlurEffect(style: UIBlurEffectStyle.Light)
var effectView = UIVisualEffectView(effect: effect)
effectView.frame = CGRectMake(0, 0, 500, 500)
view.addSubview(effectView)
Run Code Online (Sandbox Code Playgroud)

在使用上面的代码作为描绘的图像iPad Air,iPhone 5iPhone 5S模拟器:

woof,看起来不那么好

在使用上面的代码作为描绘的图像iPhone 4S,iPad 2iPad Retina模拟器:

我看不到我的总督!

注意:上面的两张图片都是从模拟器中拍摄的,但这也可以在运行iOS 8 Beta 1的实际设备上重现.

显然,我想在所有设备上实现第一个效果.如何在所有设备上实现相同的第一效果?

ric*_*ter 26

UIVisualEffectView 在iOS 8中,与iOS 7中看到的(以前的私有API)半透明和活力效果几乎完全相同.就像iOS 7效果一样,它们又回归到硬件上的图形更简单的实现,无法呈现如此复杂的图形效果即时的.

  • 我花了2个小时试图理解为什么愚蠢的视图没有显示模糊,尽管在另一个项目中使用它很好.结果我正在使用iPad 2模拟器......你发现它显示为白色.呃,痛苦.希望他们有一个静态模式而不是现场模式而不是这个秋天......看起来非常不同. (4认同)
  • 哇,我想要1.5小时的生命回到Apple.他们'可能'想要在文档中添加(阅读:SHOULD DEFINITELY) (2认同)

pka*_*amb 5

我们的视觉效果视图在我们的某个开发人员的计算机上是一种丑陋的灰色,我们最近遇到了这个问题.

UIVisualEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
Run Code Online (Sandbox Code Playgroud)

事实证明,他们已经启用Low Quality Graphics Override了他们的iOS模拟器.转回此选项Device Default可修复问题并显示一个漂亮的半透明视图.

iOS模拟器>菜单栏>调试>图形质量覆盖>设备默认值

iOS模拟器中的低质量图形覆盖选项