私のクラスの構造は仲間のようです
- MainVC としましょう。
- 4 つの異なるビュー コントローラー、たとえば vc1、vc2、vc3、および vc4。各 vc には独自の UITableView があります。
- MainVC はこれらの VC をサブビューとして表示します。
- UIView のサブクラス、たとえば headerVC は、VC の各テーブルにバナーとして表示する必要があるヘッダー ビューを返します。このビューには、MainVC の Vcs を切り替えるボタンが含まれています。
MainVC を実行すると、VC1 (tableView を持つ) のビューが読み込まれ、VC1 は tableView の最初の行に headerView を追加します。headerView で任意のボタンを押すと、MainVC は選択に従って VC を切り替えます。Eech VC は、その tableView の最初の行に headerView を追加します。
すべてうまく機能しますが、別のタブバー項目に移動して戻ってくると、選択した VC のテーブルから headerView が消えます。残りの行はそのまま表示されますが、ヘッダー ビューは消えます。tableView を上下にスクロールすると、headerView (最初の行) が再び表示されます。このように動作する理由がわかりません。
tableView のヘッダーとセクションのヘッダーの両方に headerView を配置しようとしましたが、まったく表示されませんでした。このアプローチにより、少なくともヘッダービューは表示され、正常に機能していますが、タブを変更して戻ってくると、最初の行 (ヘッダービューを含む) だけが消えます。
どんな手掛かり??