2012-04-04 127 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]; 
} 

請註明是否有幫助:)

相關問題