openGLでレンダリングされたグラフを表示するナビゲーションベースのアプリ、グラフに表示されるすべての要素の開示ボタンを一覧表示するテーブルビュー、および設定開示ボタンを作成しています。
ナビゲーションコントローラーはテーブルビューデリゲートおよびデータソースでもあり、テーブルビューはプログラムでビューに追加され、「デリゲートおよびデータソース」が「self」に設定されます。OpenGLベースのグラフビューはIBを介して追加されます。
私が抱えている問題は、didSelectRowAtIndexPathメソッド内でView Controller(設定またはグラフ要素のプロパティのいずれか)をプッシュしようとしていることです。メソッドが登録され、新しいビューがプッシュされますが、テーブルビューはそのまま残り、プッシュされたビューの一部を、別のナビゲーションコントローラーがあるかのように隠します。
テーブルビューのナビゲーションコントローラーを他のUINavigationControllersビューと同じに設定できないようです。
誰かが私がこれを修正する方法を知っていますか?
テーブルビューが追加されたナビゲーションコントローラーのinitWithCoderメソッドは、次のように表示されます。
elementList = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStyleGrouped];
elementList.dataSource = self;
elementList.delegate = self;
[self.view addSubview:elementList];
さらにソースファイルでは、ナビゲーションコントローラーがプッシュされるDidSelectRowAtIndexPathメソッドは次のように表示されます。
Settings* Controller = [[Settings alloc] init];
[self pushViewController:Controller animated:YES];
[Controller release];