2012-04-15 107 views
0

使用两个ViewControllers,MyView 1和MyView 2,是否可以从MyView1.m中向MyView2添加子视图?将子视图添加到另一个视图

我曾尝试:

MyView2 * screen = [[MyView2 alloc]initWithNibName:nil bundle:nil]; 
[screen.view addSubView:mySubView]; 

但我的MyView的2的新实例对MyView2在“可见的”视图控制器没有连接,对不对?

为了说明,显示的ViewController是MyView1。我希望MyView1能够将子视图添加到MyView2视图。

由于

回答

2

我想你混淆viewControllers与意见,或者至少你的问题。也许是这样的事你要找的 -

MyViewController2 *myViewController2 = [[[MyViewController2 alloc] initWithNibName:nil bundle:nil] autorelease]; 

[myViewController2.view addSubView:mySubView]; 
// add any other views to myViewController2's view 

[self.view addSubView:myViewController2.view]; // adding the view to VC1's view 

如果你希望能够继续在整个MyViewController1添加的东西,你应该声明要么myViewController2或视图作为留置物。

0

假设MyView2是的UIViewController的一个子类,还有对的ViewController本身没有addSubView:方法。相反,你想子视图添加到您的视图控制器的view,就像这样:

[screen.view addSubview:mySubView]; 
+0

谢谢,但那不是真的问题,我已经在我的代码中有screen.view。问题是我想从MyView1中更改MyView2的视图。 – Martol1ni 2012-04-15 23:02:35

1

你可以有MyView1控制器保存在一个共同的目标的一些信息在你的应用程序,这样,当MyView2再次出现它可以将子视图添加到它的观点,如果需要。

0

试试这个,

[MyView1.view addSubView:MyView2]; 
[self.view addSubview:MyView1]; 
相关问题