iOS 10模糊效果突出和常规不起作用

时间:2016-11-12 15:31:44

标签: ios swift uivisualeffectview

我没有在网上找到任何相关的问题,我正在尝试使用模糊视图来显示新的模糊效果.prominent和.regular但它们没有显示。当我将模糊效果更改为.light,.extraLight或.dark时,它可以正常工作。它在描述中说新的模糊效果适应用户界面。这是什么意思,以及为什么这两个新的模糊效果不起作用?

我在模拟器和iPhone中都有iOS 10,但没有一个显示新的模糊效果。打印语句表示正在按预期调用if语句(而不是else)。

let blurEffect : UIBlurEffect!
if #available(iOS 10.0, *) {
   blurEffect = UIBlurEffect(style: .prominent )
} else {
   // Fallback on earlier versions
   blurEffect = UIBlurEffect(style: .light )
}
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = CGRect(x: 100, y: 100, width: 200, height: 300)

1 个答案:

答案 0 :(得分:13)

  

这是什么意思,为什么这两个新的模糊效果不起作用?

来自 WWDC 2016 Session 206:tvOS的新功能

  

我们还为API添加了两种新的模糊样式   您现在可以使用UIBlurEffectStyleRegular或UIBlurEffectStyleProminent   我们称之为自动样式   并且它们实际上将根据系统设置调整有效模糊效果样式   因此,如果你使用UIBlurEffectStyleRegular和系统,它将使用UIBlurEffectStyle.light。
  如果你使用常规和黑暗,你将使用黑暗   如果使用突出显示,则会使用.extraLight和.extraDark。
  .extraDark将会出现在后来的种子中

查看会话的所有文字:http://asciiwwdc.com/2016/sessions/206

基本上这种效果适用于tvOS。操作系统可以是黑暗或轻微的风格。对于iOS,这些效果在光照模式下工作。