模态视图控制器在旋转时占据整页
Posted
技术标签:
【中文标题】模态视图控制器在旋转时占据整页【英文标题】:modal view controller takes full page on rotate 【发布时间】:2012-11-15 08:08:38 【问题描述】:我的应用程序需要一个接一个地打开两个模态视图控制器(我有登录视图,如果输入错误,则错误消息会显示在第二个模态视图控制器中。它按预期工作,但我在使用设备时遇到了问题被旋转了,由于某种未知的原因,第一个模态视图控制器占据了整个页面并且大部分屏幕变成了白色。
我用来打开模态 UIViewController 的代码如下
LogonController * logonControler =[[self storyboard] instantiateViewControllerWithIdentifier:@"LogonController"];
logonControler.modalPresentationStyle = UIModalPresentationFormSheet;
logonControler.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:self.logonController animated:YES];
logonControler.view.superview.backgroundColor=[UIColor clearColor];
logonControler.view.superview.frame = CGRectMake(0, 0, 400, 200);
CGPoint center = [DesktopSplitViewController sharedInstance].view.center;
if (![UIApplication isPortrait])
center=CGPointMake(center.y, center.x);
center.y=center.y-100;
logonControler.view.superview.center = center;
第二个模态视图控制器以相同的方式从 logonControler 打开,只是使用不同的 UIViewController 实现。
我坚持这两天以上,任何想法都会受到赞赏。
我发现了完全相同的问题here,但没有任何回放。
【问题讨论】:
【参考方案1】:对于第二个视图控制器,将模态展示样式设置为 UIModalPresentationCurrentContext
【讨论】:
以上是关于模态视图控制器在旋转时占据整页的主要内容,如果未能解决你的问题,请参考以下文章