0

我想展示一个自定义大小的视图控制器,比如(500,500)。我尝试使用下面的代码来做到这一点,如果我单独呈现视图控制器,它可以在半透明的浅灰色背景下正常工作,但是当我将视图控制器放在导航控制器中时(我想做)有黑色背景出现了,我不想要这个,我想要灰色的。

我在这个问题的帮助下做了以下代码:

iOS——如何控制模态视图控制器的大小?

MyViewController *vc=[[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];

UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:vc];

nav.modalPresentationStyle=UIModalPresentationPageSheet;

[self.window.rootViewController presentModalViewController:nav animated:YES];

CGRect r = CGRectMake(self.window.rootViewController.view.bounds.size.width/2 - 250,
                              self.window.rootViewController.view.bounds.size.height/2 - 250,
                              500, 500);
r = [self.window.rootViewController.view convertRect:r toView:vc.view.superview.superview];
  vc.view.superview.superview.frame = r;

任何猜测,我在这里错过了什么?或者有没有一种简单的方法来展示一个带有导航的自定义大小的 VC?

带导航:

在此处输入图像描述

没有导航:(我使用的是深色背景,所以它可能看起来像黑色但实际上不是) 在此处输入图像描述

4

1 回答 1