Отображение или отключение контроллера модального представления в альбомной ориентации

У меня есть приложение для iPad с видом на UIViewController с 3 подпредставлениями (3 UIViewController). Если я представляю или отклоняю модальный контроллер представления в ориентации портаита, я получаю контроллер представления с правой рамкой. Если я представляю или отключаю контроллер модального представления в альбомной ориентации, я получаю неправильный кадр ("{{0, -256}, {748, 1024}}").


person radon90    schedule 03.10.2011    source источник
comment
Вы используете SplitViewController?   -  person shannoga    schedule 03.10.2011
comment
Нет. Я управляю тремя подпредставлениями вручную.   -  person radon90    schedule 03.10.2011
comment
Происходит ли это, даже если вы открывали и закрывали контроллер модального представления в том же направлении или только после изменения?   -  person shannoga    schedule 03.10.2011
comment
У меня возникает эта проблема, только если я открываю или закрываю представление, когда оно находится в альбомной ориентации.   -  person radon90    schedule 03.10.2011


Ответы (1)


У меня такая же проблема. Я подозреваю, что это потому, что мы вручную управляем иерархией представлений и не учитываем изменения ориентации должным образом. Я опубликую любые дополнительные открытия, но пока я обнаружил, что вы можете исправить контроллер модального представления после того, как он будет представлен следующим образом:

// Display modal dialog view controller "detailNav"
[self presentModalViewController:detailNav animated:YES];     
// Create a custom frame for this view, optional, but needs to be set after presenting
detailNav.view.superview.frame = customRect;                  
// Recenter the view, for example to the center of your apps main window
CGPoint center = myApp.window.center;
detailNav.view.superview.center = center;
person MoFlo    schedule 21.11.2011