首页 > 解决方案 > 当我没有 UIViewController 时如何链接 viewDidLoad

问题描述

我正在尝试将 Mapbox 示例类链接到我的 IOS 应用程序。示例类实现了 viewDidLoad 方法,所以我假设我应该在 UIViewController 文件中实例化这段代码,对吧?

但不幸的是,我没有那个文件。我正在使用本机反应,我认为我至少应该有正确的 AppDelegate 和 UIViewController 文件?但我没有。我只在 AppDelegate.m 中实例化了 UIViewController,如下所示:

UIViewController *rootViewController = [UIViewController new];

rootViewController.view = rootView;
self.window.rootViewController = rootViewController;

这是我应该“链接”示例类以便触发 viewDidLoad 的地方吗?

标签: iosobjective-creact-nativemapboxreact-native-ios

解决方案


为了实现该viewDidLoad方法,您必须创建一个UIViewController. 在AppDelegate.m文件中,您使用的是父类,而不是子类。

一旦您创建了UIViewController子类(您可以将其命名为 MapboxViewController 之类的名称),您可以将其替换为列出的第一行代码。

代替

UIViewController *rootViewController = [UIViewController new];

你会有

MapboxViewController *rootViewController = [MapboxViewController new];

这是一个 Stack Overflow,它解释了如何在 ReactNative 项目中添加视图控制器。它在 Swift 中,但我认为它仍然是一个很好的指南。

React-Native iOS - 如何通过按下按钮从 React-Native 视图导航到非 React-Native 视图(本机 iOS 视图控制器)?


推荐阅读