iOS7中的UIVisualEffectView

Posted

技术标签:

【中文标题】iOS7中的UIVisualEffectView【英文标题】:UIVisualEffectView in iOS7 【发布时间】:2014-12-27 16:17:26 【问题描述】:

下面的 swift 代码行在 ios8 设备和模拟器上运行良好,但在 iOS7 模拟器上,日志中出现 (lldb) 的 EXC_BAD_ACCESS(code=1,address=0.x20) 错误。

var blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))

编辑:由于此类在 iOS7 中不可用,我已将此声明放在 if 块中,并且仅在 iOS 版本为 8+ 时运行它,但现在它会在我试图删除的代码中抛出未解决的标识符错误 elsehwere这个模糊效果视图(尽管,我正在检查它是否已创建):

if iosVersion >= 8 
   blurEffectView.removeFromSuperview()

【问题讨论】:

NS_CLASS_AVAILABLE_IOS(8_0) @interface UIVisualEffectView 你的意思是,iOS7没有这个类?有没有我可以使用的替代品? 是的,iOS7不支持,苹果示例代码中有UIImage+BlurEffect类,请参考***.com/questions/18927178/… 谢谢。我已经相应地编辑了这个问题。 错误信息是什么? 【参考方案1】:

@gabbler 指导的解决方案是将其声明为 AnyObject 可选。然后有条件地(如果是 iOS8)将其更改为 UIVisualEffectView。

【讨论】:

以上是关于iOS7中的UIVisualEffectView的主要内容,如果未能解决你的问题,请参考以下文章

UIVisualEffectView 奇怪的模糊伪影

React Native:检测是不是支持 UIVisualEffectView

Xcode + Swift - 如果设备使用 iOS 8,则只有某些元素

UIVisualEffectView 在 iOS 14 小部件中不起作用

想要一个受其上方和下方内容影响的 UIVisualEffectView 吗?

UIVisualEffectView 变灰(不工作)