iPad Modal UIViewControllers的位置

时间:2011-07-25 21:12:27

标签: ios ipad uisplitviewcontroller modalviewcontroller uimodalpresentationstyle

如何以模态方式将此ViewController放在详细信息视图上?我想让它正确对齐,这样你就可以看到导航部分变灰了。

[self.window addSubview:self.splitViewController.view];
MyModalViewController *modalvc= [MyModalViewController new]; //brevity
modalvc.modalInPopover = YES;
modalvc.modalPresentationStyle = UIModalPresentationStylePageSheet;
modalvc.view.autoresizeMask = UIViewAutoresizeFlexibleRightMargin;
[self.splitViewController presentModalView:modalvc animated:NO];
[self.window makeKeyAndVisible];

我还检查了MyModalViewController,如果我设置了视图掩码,我不是,也不是从Nib获得魔术值。

在当前之前调整帧(使用modalvc.view.frame)不执行任何操作。

在现在之后调整框架似乎会产生疯狂的结果,而我只需要将它放在横向的半宽度上...肖像是正常的行为。

修改
这张照片让人很困惑,所以我把它拿出来了,我不希望模态视图是屏幕的大小,我想保持它的UIModalPresentationStylePageSheet但是它的ORIGIN向右移动,以便它覆盖景观中的细节视图部分

2 个答案:

答案 0 :(得分:1)

modalPresentationStyle是控制它的原因。您已将其设置为UIModalPresentationStylePageSheet,它将高度设置为屏幕的高度,宽度设置为纵向的屏幕宽度,与屏幕截图完全相同。

我认为在横向上获得全宽度的唯一方法是使用UIModalPresentationFullScreen。有关详细信息,请参阅UIViewController reference

答案 1 :(得分:0)

我遇到了类似的问题,最后我使用了一个自定义视图控制器,它使用了一个背景半透明视图和一个前景不透明视图,我可以通过操作它的框架来定位我想要的任何位置。它可用作视频和图像的灯箱。