0

マスター/詳細インターフェイスを表示したい画面が 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 つのビュー コントローラー (それぞれに独自のスーパークラスがある) がある場合に、マスター/ディテールを適切に模倣する正しい方法は何ですか?

4

0 に答える 0