Как скрыть контроллер rootView только в ландшафтном режиме в SplitView - PullRequest
1 голос
/ 10 мая 2011

Прямо сейчас у меня есть код, который позволяет мне скрыть боковую панель, которая представляет контроллер rootView.Когда я перехожу в альбомный режим, кнопка «корневой список» заменяется кнопкой «Скрыть боковую панель», а при нажатии она удаляет RootViewController из splitView.Вот код, найденный в AppDelegate:

//Thanks to Alice McGregor for the code!!!
- (IBAction)toggleSplitView:(id)sender {
    if ( [window.subviews containsObject:splitViewController.view] ) {

        [splitViewController.view removeFromSuperview];

        splitViewController.viewControllers = [NSArray arrayWithObjects:rootViewController, rootViewController, nil];

        [window addSubview:detailViewController.view];

        [(UIBarButtonItem *)sender setTitle:@"Show Sidebar"];

    } else {

        [detailViewController.view removeFromSuperview];
        [detailViewController.view setTransform:CGAffineTransformIdentity];

        splitViewController.viewControllers = [NSArray arrayWithObjects:rootViewController,     detailViewController, nil];

        [window addSubview:splitViewController.view];
        [detailViewController.view sizeToFit];

        [(UIBarButtonItem *)sender setTitle:@"Hide Sidebar"];
    }
}

Это удаляет rootView (таблицу), когда выбрана кнопка скрытия боковой панели.Однако, когда вы переходите в портретный режим, кнопка корневого списка не появляется и вместо этого заменяется кнопкой «показать боковую панель».

Мне нужно сделать так, чтобы в режиме ландшафта таблицаскрытый, однако вы все равно можете выбрать кнопку корневого списка в портретном режиме.Есть идеи?

...