单击视图控制器在单击按钮时加载两次

时间:2015-11-25 18:20:14

标签: ios controller segue clear pop

我想在点击按钮时显示控制器弹出窗口。假设我有VC1有按钮,然后点击那个VC2应该弹出加载。它在某种程度上起作用。但我不知道VC2加载两次的原因是什么,第二次加载它显示黑色背景..这是我的代码,

点击下面的按钮,在VC1中调用函数,

VC2* childVC = [[VC2 alloc]init];
childVC.view.hidden = YES;
[self addChildViewController:childVC];
[self.view addSubview:childVC.view];
[self performSegueWithIdentifier:@"goToVC2" sender:self];

在VC2 viewdidload中,

self.view.backgroundColor = [[UIColor blackColor]colorWithAlphaComponent:0.5];

请帮助..如何让VC2正常显示?

1 个答案:

答案 0 :(得分:1)

您不需要将子视图控制器的视图设置为当前视图控制器的视图层次结构。你应该做一个或另一个。我建议使用segue,因为这是一种更加苹果认可的方法。所以改变这个:

VC2* childVC = [[VC2 alloc]init];
childVC.view.hidden = YES;
[self addChildViewController:childVC];
[self.view addSubview:childVC.view];
[self performSegueWithIdentifier:@"goToVC2" sender:self];

[self performSegueWithIdentifier:@"goToVC2" sender:self];