如何在UIViewController中设置视图

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

我提出我的MyViewController是这样的:

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

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

当呈现viewController时,它的背景是黑色。 我如何设置它的视图来填充屏幕上的空白视图 - 就像在故事板中设置UIViewController一样?

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

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

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

你可以添加你自己的看法-viewDidLoad ,并再次将其删除(对于低内存的原因),在-viewDidUnload


你可以添加一个带有自定义图像的UIImageView,然后将其发送回来,以便在你的viewcontrollers的viewDidLoad

UIImageView *back = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"MyBG"]];
[self.view addSubview:back];
[self.view sendSubViewToBack:back];

如果您正在使用XIB文件,则应通过initWithNibName:bundle方法初始化视图控制器:

链接地址: http://www.djcxy.com/p/15379.html

上一篇: How to setup view in UIViewController

下一篇: How to interact with UITableView in UIViewController?