如何使用 ARKit / swift ViewController 创建 React Native 组件?

Posted

技术标签:

【中文标题】如何使用 ARKit / swift ViewController 创建 React Native 组件?【英文标题】:How to create a React Native component using ARKit / a swift ViewController? 【发布时间】:2019-10-17 20:21:25 【问题描述】:

我们有一个基于 WWDC 2019 中基于 swift 的 ARKit 示例 Capturing Body Motion in 3D 的项目。我们有一个使用原生 swift 组件的 React Native 应用程序,遵循 Swift in React Native - The Ultimate Guide 的精彩说明。现在我们想将来自ARKit example 的视图实现为一个 react-native 组件,但我只是不知道如何做到这一点。

ARKit example 使用 UIViewControllerARSessionDelegate,这意味着我们必须在组件中包装不仅仅是一个简单的视图。

我在how to present a native UIViewController in React Native 上找到了一些答案,但无法将此解决方案转换为快速代码,也无法使其与ARKit example 一起使用。你们中有人知道如何连接吗?

【问题讨论】:

【参考方案1】:

好的,我现在明白了;-)

在示例Capturing Body Motion 3D 中,所有功能都在UIViewController 中实现。我们没有为 react native 中的每个组件设置单独的 UIViewController,而是使用 RCTViewManager

我们可以基于 ARView 创建自己的 View 类,并将 ARSessionDelegateUIViewController 直接移动到这个新视图,包括 session 方法和所有相应的部分。 从RCTViewManager 返回这个新 View van 的一个实例,瞧,它可以工作了!

【讨论】:

你能分享一下代码吗?

以上是关于如何使用 ARKit / swift ViewController 创建 React Native 组件?的主要内容,如果未能解决你的问题,请参考以下文章

通过 Swift 设置 ARKit 方向

通过Swift设置ARKit方向

swift 初探ARKit

将 arkit 快照直接保存到照片库 swift 4

ARKit 添加 UIView xib 文件 Swift 4

Swift iOS ARKit 从文件 NSKeyedUnarchiver NSKeyedArchiver 加载 ARWorldMap 数据