2012-04-04 123 views
1

它很容易理解我的问题。如何将subView添加到第三个视图的另一个视图?

我有一个所谓的“菜单”视图 - 这有几个按钮。 我有另一种叫做“主”的视图 - 他需要显示菜单中选择的视图。 和最后一个我有观点,我想在主视图中看到。

我试着用此代码工作这一点 -

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

,但它不工作。我记得我在过去做了很多很多次,但都无法获得我的项目答案。 ..很奇怪/:

更新 - 我尝试别的东西。 我在我的主课上做了一个方法,我从菜单中调用它。 但它仍然是剂量的工作 - 我NSLOG的方法和它的完美调用。 (IM时从类的工作中调用方法..)

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

+0

您不添加“主”屏幕 – FoJjen 2012-04-04 11:26:37

回答

0

我并不确切地知道,但我猜这可能是尤尔problem.Did您设置帧的意见。

+0

喜,是肯定的。 – 2012-04-04 10:58:05

+0

采取另一种观点,并将其添加到您的main.handlerview.So,你来知道知道错误在哪里? – pie 2012-04-04 11:02:04

+0

我试图做别的 - 看到更新。 – 2012-04-04 11:41:38

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]; 
} 
+0

分配控制器的新实例无法提供帮助,因为创建的新实例与已存在的控制器没有任何关联。 – DivineDesert 2012-04-04 12:03:03

+0

@DimplePanchal我不知道你的意思。你的意思是新的实例没有任何与当前控制器的链接?当然不是,但是当前控制者的观点将新实例的视图作为子视图。那么,什么问题?泄漏还是崩溃? – tangqiaoboy 2012-04-04 12:17:32

+0

请参阅分配新实例实际上不是应用程序窗口/导航控制器中已存在的实例。即使你调用addSubview的视图控制器没有它加载到应用程序窗口,它不能添加任何子视图.. – DivineDesert 2012-04-05 05:46:40

0

由于要分配和创造的OpertunityViewController一个新的对象,你的观点不会被添加到该视图 - 控制。

对于您需要保持OpertunityViewController参考对象可能是MenuMenu u需要调用OpertunityViewController的方法,反过来增加了子视图您OpertunityViewController

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

希望这会有所帮助。

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

0

这将有助于我想:

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

请注明是否有帮助:)

相关问题