マスター/詳細インターフェイスを表示したい画面が 1 つあります。しかし、アニメーションで非表示にするにはマスターが必要です。私の知る限り、UISplitViewController はそれをサポートしていません。
そこで、代わりに 1 つの UIViewController を作成し、それに 2 つの子コントローラーを追加しました。
このコンテナ ビュー コントローラでは、次のことを行います。
- (id)init
{
self = [super init];
if (self) {
self.masterViewController = [[MasterViewController alloc] init];
[self addChildViewController:self.masterViewController];
self.detailViewController = [[DetailViewController alloc] init];
[self addChildViewController:self.detailViewController];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.masterViewController.view.frame = CGRectMake(0, 0, 256, 748);
[self.view addSubview:self.masterViewController.view];
self.detailViewController.view.frame = CGRectMake(256, 0, 768, 748);
[self.view addSubview:self.detailViewController.view];
}
しかし、結果は完全な混乱です。フレームが正しく変更されません。
2 つのビュー コントローラー (それぞれに独自のスーパークラスがある) がある場合に、マスター/ディテールを適切に模倣する正しい方法は何ですか?