1

理解我遇到的问题非常简单。

我有一个名为“菜单”的视图 - 它有几个按钮。我有另一个名为“Main”的视图 - 谁需要显示菜单选择的视图。最后一个我有我想在主视图中看到的视图。

我试图用这段代码解决这个问题 -

-(IBAction)opertunity:(id)sender{
OpertunityViewController *temp = [[OpertunityViewController alloc]initWithNibName:@"OpertunityViewController" bundle:nil];
MainViewController *main = [[MainViewController alloc]init];
[main.handlerView addSubview:temp.view];
}

但它根本不起作用..我记得我过去做过很多次但无法在我的项目中得到答案......很奇怪/:

更新 - 我正在尝试别的东西。我在我的主类中创建了一个方法,然后从菜单中调用它。但它仍然有效 - 我 NSLOG 该方法及其完美调用。(当我从类内部调用该方法时,它的工作..)

现在怎么办 ?!我从来没有遇到过这样的问题...

4

4 回答 4

0

我不确切知道,但我猜这可能是您的问题。您是否将框架设置为视图。

于 2012-04-04T10:53:13.980 回答
0

由于您正在分配和创建 的新对象OpertunityViewController,因此您的视图不会添加到该视图控制器中。

为此,您需要保留OpertunityViewControllerin may be的引用对象,Menu并且您需要Menu调用该方法OpertunityViewController,然后将子视图添加到您的OpertunityViewController.

否则,您可以为此功能创建委托。

希望这可以帮助。

此外,如果您使用的是导航控制器,那么您可以从导航控制器堆栈中获取视图控制器,然后相应地添加子视图。请注意,您需要从堆栈中获取正确的视图控制器,并确保在该时间点添加的视图控制器的顺序和数量没有变化。仅当您的导航流程固定或您需要将子视图添加到前一个视图控制器时,这才有用。

于 2012-04-04T12:02:08.883 回答
0

这将有助于我想:

-(IBAction)opertunity:(id)sender {
   OpertunityViewController *temp = [[OpertunityViewController alloc] init];
   MainViewController *main = [[MainViewController alloc]init];
   [main.view addSubview:temp.view];
}

如果有帮助请标记:)

于 2012-04-04T15:07:17.043 回答
0

也许您应该将主视图添加到窗口或当前视图。例子:

-(IBAction)opertunity:(id)sender{
    OpertunityViewController *temp = [[OpertunityViewController alloc]initWithNibName:@"OpertunityViewController" bundle:nil];
    MainViewController *main = [[MainViewController alloc]init];
    [main.handlerView addSubview:temp.view];
    [self.view addSubview:main.handlerView];
}
于 2012-04-04T11:44:09.567 回答