3

我有一个主要观点。从那个主视图中,我展示了一个模态视图(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 模型视图。谁能告诉我代码有什么问题?

谢谢。

4

1 回答 1

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);
}
于 2011-11-23T10:51:32.320 回答