我正在开发本机 iOS 应用程序(演示)。并且是 react native 的新手。我想知道RCTRootView
ie它是如何工作的。我有一个疑问,即在app delegate
根视图中是默认创建的。如果我在我的添加另一个根视图view controller
会发生什么?它设置了哪一个将是根视图。有人可以帮我吗?如果我用新的模块名称创建它会发生什么?
提前致谢...
我正在开发本机 iOS 应用程序(演示)。并且是 react native 的新手。我想知道RCTRootView
ie它是如何工作的。我有一个疑问,即在app delegate
根视图中是默认创建的。如果我在我的添加另一个根视图view controller
会发生什么?它设置了哪一个将是根视图。有人可以帮我吗?如果我用新的模块名称创建它会发生什么?
提前致谢...
当你创建一个新的 Xcode 项目时,它会指定一个故事板(Main.storyboard)作为你的“主界面”。您可以在目标的“常规”设置选项卡中看到这一点。在该情节提要中,您将找到情节提要入口点,即视图控制器左侧的箭头。这表明视图控制器(默认属于 class ViewController
)将是您的根视图控制器。如果您删除“主界面”设置(使其为空),您将不会自动拥有根视图控制器;您将不得不手动设置它。
查看可用于 ReactNative 的示例。您将看到一般的方法是在application: didFinishLaunchingWithOptions:
aUIWindow
中实例化,然后是普通的UIViewController
。在此之前或之后的某个时刻,将RCTRootView
实例化(使用 anRCTBridge
或BundleURL: moduleName:...
初始化程序)。这是一个子类,UIView
所以它还没有UIViewController
。因此,然后将其设置为前面提到的 plain 的视图,UIViewController
然后将其设置为 的rootViewController
,UIWindow
使其成为“关键且可见”,之后我们就准备好了。
我已经使用 ReactNative 仅两天了,但是反复看到上述模式,我看到自己今天构建了类似 an 的东西RCTRootViewController
来封装它,RCTRootView
将. 视图控制器可以具有与.loadView
UIViewController
RCTRootView