React Native:检测是不是支持 UIVisualEffectView

Posted

技术标签:

【中文标题】React Native:检测是不是支持 UIVisualEffectView【英文标题】:React Native: detect if UIVisualEffectView is supportedReact Native:检测是否支持 UIVisualEffectView 【发布时间】:2015-06-08 08:30:17 【问题描述】:

我想在我的带有 React Native 的 ios 应用上使用 react-native-blur,在 iOS 7 上使用不支持 UIVisualEffectView 的替代可视化(例如 backgroundColor)。

例如:

styles =  
    backgroundColor: isVisualEffectViewSupported ? "transparent" : "rgba(0,0,0,.5)"

如何检测当前平台是否支持 UIVisualEffectView?

【问题讨论】:

【参考方案1】:

目标-C:

Class cls = NSClassFromString(@"UIVisualEffectView");
if (cls) 
    // class exists, do whatever you need with it
 else 
    // class doesn't exists, fallback

斯威夫特:

if NSClassFromString("UIVisualEffectView") != nil 
    println("UIVisualEffectView exists")
 else 
    println("UIVisualEffectView does not exists")

【讨论】:

您好,感谢您的回答,我的问题是针对 react-native。我已经更新了标题以使其更清晰。【参考方案2】:

只需编写一个将iOS版本导出到JS的native模块,然后JS检测版本并决定是否支持UIVisualEffectView。

【讨论】:

以上是关于React Native:检测是不是支持 UIVisualEffectView的主要内容,如果未能解决你的问题,请参考以下文章

给定 APK 文件,我如何检测应用程序是不是使用 React Native?

React Native:如何检测应用程序是不是在启动时/从 AppSwitcher 关闭应用程序后进入前台?

react-native-video 是不是支持来自 hls url 的直播?

Cloud Firestore 是不是支持 React Native

在 react-native 文本输入中检测粘贴事件

如何使用 react-native-camera 人脸检测器检测人脸?