問題タブ [view-hierarchy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 子ビュー コントローラーには親ビュー コントローラーが必要ですが、実際の親は (UIViewControllerHierarchyInconsistency) です。
初期ウィンドウとして UITabbarController を持つアプリがあります(ログイン後、rootViewControllerとして設定します)
この tabbarController には 4 つの異なるタブがあり、これらはすべて UINavigationController に埋め込まれた UIViewController です。
私の tabbarController では、初期構成を行っているときに、次のようにタブを設定します。
まず、viewController を作成します。
/li>次に、それらを navigationControllers 内に埋め込みます。
/li>最後に、navigationControllers を tabbarController の viewControllers として追加します。
viewControllers = [navController1,navController2,navController3,navController4]
私はそれをオンラインで調べましたが、この使用方法は正しいようです。例: https://medium.com/@ITZDERR/uinavigationcontroller-and-uitabbarcontroller-programmatically-swift-3-d85a885a5fd0 . ただし、以下のようにライブ アプリからクラッシュ ログを受信しています
ここでの問題は、クラッシュが profileViewController が navigationController の親である必要があることを示していますが、profileViewController を navigationController 内に埋め込み、tabbarController の viewControllers として追加したため、私の意見では順序が正しいことです。
このクラッシュを検索したところ、addChildViewController を使用するか、どこかで親を削除するステップをスキップしているようですが、わかりませんでした。
これへの関連リンクを見つけましたが、それらのどれもがこの問題を解決するのに役立ちませんでした。
リンクの例: