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的主要内容,如果未能解决你的问题,请参考以下文章
React Native:检测是不是支持 UIVisualEffectView
Xcode + Swift - 如果设备使用 iOS 8,则只有某些元素
UIVisualEffectView 在 iOS 14 小部件中不起作用