У меня есть приложение для iPad, в котором UITabBarController
является корневым контроллером. На одной из вкладок у меня есть UIToolBar
, который содержит UIBarButtonItem
, при нажатии запускает модальное представление.
При первом запуске модальное представление отображается в правильном размере (как в горизонтальной, так и в вертикальной ориентации), однако, если вы поворачиваете устройство, модальное представление затем расширяется, чтобы заполнить экран - независимо от того, насколько вы поворачиваете устройство с этой точки и далее.
Я запускаю модальное представление из панели вкладок, и я установил ModalPresentationStyle
в представлении, которое будет представлено.
Это влияет на ModalView, независимо от того, установлен ли я на FormSheet
или PageSheet
.
Кто-нибудь испытывал подобное поведение, если да, то как вы его решили?
Большое спасибо
EDIT
Я также заметил, что начиная с 4.2 при использовании страницы модального стиля / таблицы форм, представление за модальным представлением больше не затемняется - я представляю представление неправильно или это просто стандарт на 4.2?
РЕДАКТИРОВАТЬ 2
Код:
По умолчанию UIViewController
я просто представляю модальное представление следующим образом:
void HandleNewMsgButtonTouch(object sender, EventArgs e)
{
PresentModalViewController(new ComposeMsgView(), true);
}
В самом модальном виде я указал в переопределении LoadView
:
public override void LoadView()
{
base.LoadView ();
...
// initialser code related to the view
...
View.AutoresizingMask = UIViewAutoresizing.None;
ModalPresentationStyle = UIModalPresentationStyle.PageSheet;
ModalTransitionStyle = UIModalTransitionStyle.CrossDissolve;
}
Я переопределил ShouldAutoRotateToInterfaceOrientation
, чтобы всегда возвращать также и истину.
Независимо от того, использую ли я Formsheet / Pagesheet, они оба отображаются правильной ширины при первом запуске (в альбомной или книжной ориентации - я знаю, PageSheet заполнит портретное представление), однако при повороте модальное представление затем заполнит экран (как будто я представил ModalView с FullScreen).