私は現在、この if ステートメントを使用して、uiview がロードされているかどうかを確認しています。この if ステートメントは完全に機能します。
if (!myviewName.isViewLoaded) {
//not loaded so load my view
}
else (myviewName.isViewLoaded){
//is loaded so remove my view (unload)
}
ただし、ビューを削除しようとすると、最初にビューが読み込まれた後は if ステートメントの最初の部分を入力できないため、正しく実行しているとは思いません...
これは、else (myviewName.isViewLoaded){内のコードです。
[myviewName removeFromParentViewController];
[animatedActionView removeFromSuperview];
removeFromParentViewControllerを使用する理由は、myviewName をanimatedActionView のサブビューとして追加したためです。
[animatedActionView addSubview:b1VC.view];
[navigationController.view insertSubview:animatedActionView belowSubview:tabbarView];
アニメーション化されたActionViewは私のnavigationcontrollerにサブビューとして追加されており、私のnavigationcontrollerのサブビューでもある私のtabbarviewの後ろに配置しています..
うまくいけば、これはすべて理にかなっています..私の質問を繰り返すために、ビューを削除してif (!myviewName.isViewLoaded) {適切にアクセスできるようにするにはどうすればよいですか。
どんな助けでもいただければ幸いです。
更新: 返信ごとに、私がやろうとしていることをここで詳しく説明するように求められました.
したがって、私の元のプロジェクトには、プロジェクトの最初の部分 (db のクエリ) に必要なすべてのビューを制御する NavController があり、プロジェクトの 2 番目の部分はトンまたはデータを表示しています。
そのため、新しいプロジェクトで最終的なビューのプロトタイプを作成して、発生する可能性のあるすべての問題を解決し、アップルに拒否されない方法でそれを行うことを願っています.
したがって、navController の最終ビューに到達すると、その中に別の navController をロードしています。(これは私を拒否しますか?)
この (サブ)navController を otherNav と呼び、最終的なビューを制御します。これは、ユーザーがdetailedView 間で左右にスライドできる特別なスライド遷移アニメーションを使用して、いくつかの異なる detailViewController をロードします。
また、ユーザーが詳細ビュー間を遷移するときに、ビューに応じてタブバー アイコンを変更する予定です。そのため、ユーザーがある詳細ビューから別の詳細ビューにスライドすると、以前のアイコンはフェードアウトし、新しいアイコンはフェードインします。
最後に、actionViews と呼ぶ他のいくつかのビューコントローラーがあります (これが私の質問の内容です)。これらはサブビューとして otherNav にロード/挿入されますが、タブバーの後ろに配置され、タブバー ボタンが選択および選択解除されると上下にスライドします。
これは、すべてのビューと、それらが画面上にどのように配置されているかをグラフィカルに表したものです。