如何在 ObjectC 中为 React Native 桥接 Swift View

Posted

技术标签:

【中文标题】如何在 ObjectC 中为 React Native 桥接 Swift View【英文标题】:How to bridge Swift View in ObjectC for React Native 【发布时间】:2021-04-28 11:01:40 【问题描述】:

我是这个 Objc 和 Swift 的新手。我需要一些小例子。我不知道什么搜索。

Objective C 对我来说非常复杂。

谁能举个简单的例子,如何在 Objective C 中导入 Swift View 作为 react-native 模块?

//this is swift file
import SwiftUI

struct SwiftUIView: View 
    var body: some View 
        Text("Hello, World!")
    

//i need use RCTView and RCTViewManager somehow in ObjectiveC files

请举例说明如何将 SwiftUIView 或任何其他视图从 Swift 导入到 ObjectC 并添加导出为 RCTView

【问题讨论】:

Apple 已经为此目的开发了许多教育应用程序。它们在 App Store 中的名称非常明显。一个好的开始是访问 swift.org 我不需要 Swift 部分代码。我需要 ObjectC 部分代码。而且我找不到任何关于将 View 从 Swift 桥接到 ObjectC 的有用信息 你找到一些解决方案或文章了吗?我有类似的问题 【参考方案1】:

这里有一个教程如何将原生 ios 组件连接到 react-native https://youtu.be/q5M07Q1JFZw 但它是针对 Alert 的,如果你需要创建一个完全自定义的 UI 元素,你可能需要真正学习 swift。如果你能描述你真正想要完成的事情,那么帮助你会更容易。因为在极少数情况下,您实际上需要在原生代码中编写原生 UI。

还有关于将本机模块导入 react-native https://reactnative.dev/docs/native-modules-intro 的文档可能对您有所帮助。

【讨论】:

没用。我需要从 swift 导出视图,而不是对象和方法。我看到了文档并且已经做了导出模块。但我坚持在 Swift 中导出视图。我不能在 3 天内学会所有的 Swift。如果我可以看到一些示例并尝试一下,这将有助于更快地学习并做我需要的事情。 坏消息 - 我主要需要 ObjC 部分代码。 Shift 我可以自己写。但是 ObjC 很难快速学习 我能问你为什么你甚至需要这样做吗?比如最终目标是什么? 我在 swift 中有一些原生组件。我想将此组件添加到 RN

以上是关于如何在 ObjectC 中为 React Native 桥接 Swift View的主要内容,如果未能解决你的问题,请参考以下文章

Tabview 在 react-native 中作为粘性标题

如何在 React 中为表单标签生成唯一 ID?

如何在 React 中为上传和订阅设置 Apollo 客户端?

如何在 React Native 中为 useRef 钩子设置 Typescript 类型?

如何使用 CodeSandbox 在 LESS 中为 Ant Design (React) 创建自定义主题?

如何在 react-native 中为特定组件传递样式道具