我没有在网上找到任何相关的问题,我正在尝试使用模糊视图来显示新的模糊效果.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)
答案 0 :(得分:13)
这是什么意思,为什么这两个新的模糊效果不起作用?
来自 WWDC 2016 Session 206:tvOS的新功能:
我们还为API添加了两种新的模糊样式 您现在可以使用UIBlurEffectStyleRegular或UIBlurEffectStyleProminent 我们称之为自动样式 并且它们实际上将根据系统设置调整有效模糊效果样式 因此,如果你使用UIBlurEffectStyleRegular和系统,它将使用UIBlurEffectStyle.light。
如果你使用常规和黑暗,你将使用黑暗 如果使用突出显示,则会使用.extraLight和.extraDark。
.extraDark将会出现在后来的种子中
查看会话的所有文字:http://asciiwwdc.com/2016/sessions/206
基本上这种效果适用于tvOS。操作系统可以是黑暗或轻微的风格。对于iOS,这些效果在光照模式下工作。