我有一个主要观点。 从该主视图中我显示了一个模态视图(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模型视图。 谁能告诉我代码有什么问题?
感谢。
答案 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);
}