呈现模式并解除视图控制器无法正常工作

时间:2011-11-23 06:20:45

标签: objective-c ipad ios5 presentmodalviewcontroller ipad-2

我有一个主要观点。 从该主视图中我显示了一个模态视图(MV1)。 MV1显示另一个模态视图(MV2)。

*主视图编码: -

MV1 *MV1obj = [[MV1 alloc]initWithNibName:@"MV1" bundle:nil];
MV1obj.modalPresentationStyle=UIModalPresentationPageSheet;
[self presentModalViewController:MV1obj animated:YES];
MV1obj.view.superview.frame = CGRectMake(0, 0,730,620);
MV1obj.view.superview.center = self.view.center;

当我点击主视图中的按钮时,MV1模型视图打开,其宽度和高度为730和620. MV1模型视图包含一个图像按钮。单击此按钮时,MV2模型视图打开,并在模型视图Mv2中显示全屏图像。

* MV1类编码: -

MV2 *MV2obj = [[MV2 alloc]initWithNibName:@"MV2" bundle:nil];
MV2obj.modalPresentationStyle=UIModalPresentationFullScreen;
[self presentModalViewController:MV2obj animated:YES];

但是当我忽略模型视图Mv2时,Mv1模型视图以全屏显示。但我需要在730宽度和620高度显示Mv1模型视图。 谁能告诉我代码有什么问题?

感谢。

1 个答案:

答案 0 :(得分:2)

通过再次明确设置中心和框架来解决。当你解雇MV2时,将这些行写入self课程:

-(IBAction)logoClick:(UIButton*)sender{
    [self dismissModalViewControllerAnimated:YES];

    UIViewController *vc = [self parentViewController]; // it's your MV1 instance
    vc.view.superview.frame = CGRectMake(0, 0, 730, 620);
    vc.view.superview.center = CGPointMake(1024/2, 768/2);
}