私がこれまでに行ったこと:
私はxcode 4.2を使用しています。ImageView を含む UITableView を作成しました。UITableView は、ファイル MyTableViewController.m/.h を持つクラス MyTableViewController を使用します。_bgimageview という IBOutlet 変数を作成しました。次に、ストーリーボードの接続インスペクターで、ImageView をこの _bgimageview 変数に接続しました。MyTableviewController.m の viewDidLoad 関数で、背景画像を _bgimageview に設定しました。シミュレーターを実行し、いくつかのタブをクリックして MyTableViewController にアクセスすると、背景画像が表示されます。これまでのところ、物事はうまく機能しています。
問題
再帰ツリーの構築にも成功しましたが、問題は、ツリーのルート レベルの後にバックゴーンド イメージが失われることです。理由はわかっていると思いますが、修正方法がわかりません。次のように、行クリックごとに新しい MyTableViewController をインスタンス化します。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MyTableViewController *childView = [[MyTableViewController alloc] init];
childView._menu = children; // an NSDictionary of children
[self.navigationController pushViewController:childView animated:YES];
}
前述のように、viewDidLoad 関数で背景画像の IBOutlet 変数を設定します。しかし、その IBOutlet 変数は、Storyboard 接続を介して ImageView にリンクされています。ルート レベルより下のツリー レベルで、新しい MyTableViewControllers をプログラムでインスタンス化するため、背景画像の IBOutlet 変数と、ストーリーボードに記載されている実際の UIImageView との関係が失われている可能性があります。
これが問題であり、階層的に使用されている場合に背景画像を MyTableViewController に追加する方法を教えてください。