0

我正在开发本机 iOS 应用程序(演示)。并且是 react native 的新手。我想知道RCTRootViewie它是如何工作的。我有一个疑问,即在app delegate根视图中是默认创建的。如果我在我的添加另一个根视图view controller会发生什么?它设置了哪一个将是根视图。有人可以帮我吗?如果我用新的模块名称创建它会发生什么?

提前致谢...

4

1 回答 1

1

当你创建一个新的 Xcode 项目时,它会指定一个故事板(Main.storyboard)作为你的“主界面”。您可以在目标的“常规”设置选项卡中看到这一点。在该情节提要中,您将找到情节提要入口点,即视图控制器左侧的箭头。这表明视图控制器(默认属于 class ViewController)将是您的根视图控制器。如果您删除“主界面”设置(使其为空),您将不会自动拥有根视图控制器;您将不得不手动设置它。

查看可用于 ReactNative 的示例。您将看到一般的方法是在application: didFinishLaunchingWithOptions:aUIWindow中实例化,然后是普通的UIViewController。在此之前或之后的某个时刻,将RCTRootView实例化(使用 anRCTBridgeBundleURL: moduleName:...初始化程序)。这是一个子类,UIView所以它还没有UIViewController。因此,然后将其设置为前面提到的 plain 的视图,UIViewController然后将其设置为 的rootViewControllerUIWindow使其成为“关键且可见”,之后我们就准备好了。

我已经使用 ReactNative 仅两天了,但是反复看到上述模式,我看到自己今天构建了类似 an 的东西RCTRootViewController来封装它,RCTRootView将. 视图控制器可以具有与.loadViewUIViewControllerRCTRootView

于 2016-12-01T08:43:28.303 回答