0

我创建了一个几乎空的 UIViewController 类,名为MyViewController. 在viewDidLoad中,我设置了标题并向navigationItem.leftBarButtonItem添加了一个关闭按钮。

MyViewController这样介绍我的:

MyViewController *myViewController = [[MyViewController alloc] init];

UINavigationController *nc = [[UINavigationController alloc] myViewController];
nc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:nc animated:YES];

当 viewController 出现时,它的视图的背景是黑色的。如何设置它的视图以用空视图填充屏幕 - 就像在 Storyboard 中设置 UIViewController 一样?

我尝试将以下内容添加到viewDidLoad,但视图仍然是黑色的:

self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
4

3 回答 3

0

您可以添加带有自定义图像的 UIImageView,然后将其发送回所以在您的视图控制器中viewDidLoad

UIImageView *back = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"MyBG"]];
[self.view addSubview:back];
[self.view sendSubViewToBack:back];
于 2012-04-14T10:47:02.263 回答
0

如果您使用的是 XIB 文件,您应该通过方法initWithNibName: 初始化视图控制器:

于 2012-04-14T10:57:38.330 回答
0

默认情况下,会创建一个 VC 视图-loadView,您通常既不调用也不覆盖该视图。当您第一次请求 VC 的view属性时,它会自动调用。
视图的大小会自动设置为“空白空间”,就像除了没有 NavigationController 的状态栏之外的所有内容,在使用导航栏时减去导航栏等。你不应该担心它的大小 - 通常它很好。

您可以-viewDidLoad-viewDidUnload.

于 2012-04-14T15:38:40.840 回答