0

反応するネイティブ iOS アプリ (デモ) に取り組んでいます。そして、反応ネイティブの新機能。RCTRootView私はそれがどのように働いているかについて知りたいです。app delegateそして、ルートビューがデフォルトで作成されていることに疑問があります。別のルート ビューを追加するとview controllerどうなりますか? そして、どれがルートビューになるかを設定しました.誰かがこれについて私を助けてくれますか? 新しいモジュール名で作成するとどうなりますか?

前もって感謝します...

4

1 に答える 1

1

新しい Xcode プロジェクトを作成すると、ストーリーボード ( Main.storyboard ) が「メイン インターフェイス」になるように指定されます。これは、ターゲットの「一般」設定タブで確認できます。そのストーリーボードには、View Controller の左側にある矢印である Storyboard Entry Point があります。これは、ビュー コントローラー (デフォルトでは class ViewController) がルート ビュー コントローラーになることを示します。「メイン インターフェイス」設定を削除すると (空になるように)、ルート ビュー コントローラーは自動的に作成されません。手動で設定する必要があります。

ReactNative で利用できる例を見てみましょう。一般的なアプローチは、application: didFinishLaunchingWithOptions:aUIWindowがインスタンス化され、その後にプレーンが続くというものであることがわかりますUIViewController。その前後のある時点で、RCTRootViewがインスタンス化されます (RCTBridgeまたはBundleURL: moduleName:...初期化子を使用して)。これは のサブクラスなUIViewので、UIViewControllerまだ はありません。したがって、それは前述の plain のビューとして設定され、それが のとしてUIViewController設定され、「キーと可視化」されて準備が整います。rootViewControllerUIWindow

ReactNative を使ってまだ 2 日しか経っていませんが、上記のパターンを繰り返し見ていると、今日、 のメソッドでRCTRootViewControllerを渡し、それをカプセル化するためにのようなものを構築していることに気が付きました。ビュー コントローラは、.RCTRootViewloadViewUIViewControllerRCTRootView

于 2016-12-01T08:43:28.303 に答える