2012-04-15 108 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]; 
相關問題