Посылка замечательно проста: я хочу показать модальный вид в приложении iPad, использующем UISplitViewController.Увольнение iPad модальное представление беспорядочно закрывает панели UISplitView
Иерархия мнение прямолинейно:
/- TableViewController1
/- root:TabBarController -- TableViewController2
SplitViewController -
\- detail:CustomViewController
При нажатии на одну из ячеек таблицы в TableViewController1, открыть модальный вид:
- (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)ip {
UIViewController *vc = [[MyModalClass alloc] init];
UINavigationController *nc = [[UINavigationController alloc]
initWithRootViewController:vc];
nc.modalPresentationStyle = UIModalPresentationFormSheet;
nc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:nc animated:true];
[nc release];
[vc release];
}
Это работает просто отлично: появится вид. Проблемы начинаются, когда я пытаюсь уволить его в любой ориентации, кроме пейзажа.
В ModalViewController, следующий метод инициируется UITabBarButton в навигационной панели:
- (void) closeButtonInNavBarWasClicked:(id)sender {
[self dismissModalViewControllerAnimated:true];
}
И ВОТ где начинаются проблемы.
Когда этот код вызывается, модальный вид исчезает, НО: TabBarController (вид корневого представления) внезапно поворачивается и изменяется. Содержимое внезапно боком и частично покрывает представление деталей. Представление деталей не изменено, чтобы быть меньше, оно частично частично покрывается корневым представлением.
Единственная ситуация, когда эта проблема не появляется, - это когда я нажимаю на ячейку TableViewController1, когда приложение находится в портретном режиме. Несмотря на то, что корневой вид находится в popover (который может быть достаточным источником ошибок), все работает нормально.
Некоторых вещей я уже пытался, но безуспешно:
- Dump панели вкладок, просто отображать TableViewController1 как корневой контроллер представления раздельного
- Создать протокол делегата, так что родительский TableViewController1 увольняет модальное представление, а не представление MyModalClass.
- Представление/отклонение модального вида на TableViewController1.splitViewController действительно ухудшает ситуацию: представление даже не появляется.
- Пожертвовать несколькими козами также не помогло.
Я бы очень признателен за любые материалы по этой проблеме.