addChildViewController视图不显示

时间:2014-05-27 11:36:56

标签: ios uiviewcontroller

使用情节提示我尝试将UIViewController叠加在当前View之上。

在我的FirstViewController我导入SecondViewController.h,然后在viewDidLoad方法中运行以下内容

SecondViewController *overlay = [[SecondViewController alloc]init];
overlay.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
[self addChildViewController:overlay];
[self.view addSubview:overlay.view];
[overlay didMoveToParentViewController:self];
[self.view bringSubviewToFront:overlay.view];

在我的SecondViewController.h viewDidLoad方法中,我有一个输出到NSLog,当我运行应用程序时,它会显示在控制台中,但是第二个视图没有显示在首先。因此SecondViewController已添加但未显示。我错过了什么?

基本上我希望SecondViewController具有透明背景,这样我就可以做一个显示信息的花哨警报消息,你仍然可以看到它背后的FirstViewController

由于

1 个答案:

答案 0 :(得分:1)

首先设置secondViewController的标识符并使​​用简单代码:

secondViewController *overlay = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
overlay.view.frame = CGRectMake(100, 100, 100, 200);
[self.view addSubview:overlay.view];

在我的情况下,标识符与类名称相同,即" secondViewController"。