RCTRootViewをアプリケーションRootViewControllerにサブビューとして追加する方法を教えてください。RCTRootViewをReact-NativeのrootViewControllerにサブビューとして追加する
これは私が達成したいものです。私はビューにいくつかのOpenGLESコンテンツをレンダリングするiOSネイティブアプリを持っています。それは、デバイスカメラのフィードを表示し、ユーザーが直面しているトラックを表示します(スナップチャットARフィルタと同様)。これはすべて正常に動作し、ネイティブiOS UIKit要素もそこにあります。私は、このカメラのフィードの上にいくつかの反応したネイティブのUI要素(UIKitコンポーネントを削除する)をオーバーレイし、UI機能を実装したいと思います。
私はリアクションネイティブ(RCTRootView)の下にカメラのフィード(つまり:glビューを表示)したいと思います。ほとんどthis linkが好きです。私はほとんどそれをしましたが、いくつか迷惑なレイアウトの問題があります。この中にこの
...
// rootViewController.view = rootView;
[rootViewController.view addSubview:rootView];
...
柔軟な幅と高さの結果でサブビューの結果として、それを追加しようとし
デフォルトAppDelegate.m実装
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings]
jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc]
initWithBundleURL:jsCodeLocation moduleName:@"AwesomeProject" initialProperties:nil launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
...
// rootViewController.view = rootView;
rootView.sizeFlexibility = RCTRootViewSizeFlexibilityWidthAndHeight;
[rootViewController.view addSubview:rootView];
...
多分レイアウトの問題であるように私には思えますか?しかし、私はこれについて間違ったやり方をしていますか?いかなる援助も歓迎されます。
p.s:これは、反応したネイティブのUI atmを持つARカメラのフィードビューで表示されます。
PPS:私はサブビューとしてRCTRootViewを追加しない場合、それは常にバックグラウンドになります(つまり、カメラフィードは、常に反応するネイティブUIビューの上部になります)
setFrameを使用してRCTViewで手動でサイズを設定しようとしましたか? – while1
うん。すべてのReactNativeビューのサイズは変更されません。フレックスボックスレイアウトが動作していないか、正しくセットアップされていなかったため、正しくリンクされていないようです。 – hdsenevi