UITabBarController
。其中一个选项卡中有一个UIToolBar
,其中包含一个UIBarButtonItem
,单击后会启动模态视图。模态视图在首次启动时以正确的大小显示(无论是横屏还是竖屏),但如果您旋转设备,则模态视图将扩展以填充整个屏幕-无论您从那一点开始旋转设备的程度如何。
我从标签栏中启动模态视图,并将
ModalPresentationStyle
设置为要呈现的视图。这会影响ModalView,无论我将其设置为
FormSheet
还是PageSheet
。有人遇到过类似的问题吗?如果是,您是如何解决的?
非常感谢
编辑:
我还注意到自从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
,始终返回true。
无论我使用Formsheet / Pagesheet,它们在首次启动时都显示正确的宽度(无论是横向还是纵向 - 我知道PageSheet将填充纵向视图),但是在旋转时,模态视图将填充屏幕(就像我呈现全屏的ModalView一样)。