2012-05-22 31 views
0

我有3個viewcontroller。 FirsViewController,SecondViewController和ThirdViewController。 FirstviewController是根視圖控制器,它將secondviewcontrooler xib添加爲子視圖。 like ..如何訪問父視圖Reponder

[firstviewcontrollerObject.view addsubview:secondViewcontrollerObj.view]。

在secondViewcontroller我有一個按鈕。當按鈕觸摸動作被調用時,ThirdViewController被加載。 like ..

[SecondViewControllerobj.view addsubview:thirdviewcontrollerobj.view];

現在ThirdViewCOntroller在屏幕上。這個視圖控制器只有一個小按鈕。所以我在屏幕上看到2個按鈕。第一個按鈕是SecondviewCOntroller,第二個按鈕是ThirdViewCOntroller。但是,我能夠僅給3rdviewcontroller觸摸動作而不是2ndviewcontroller按鈕。

我應該如何設計我的視圖以兼顧按鈕和我不想合併兩個控制器。

+0

訪問點擊事件是什麼意思? – Lucas

+0

這是關於按鈕響應者。 –

+0

你想聽點擊或觸發行動嗎? – Lucas

回答

0

我認爲你應該實現它,而不使用多個UIViewControllers。

視圖控制器對於從導航堆棧推送和彈出非常有用:只顯示一個視圖。我沒有嘗試,但我認爲這就是爲什麼你得到這個錯誤。

但是,你喜歡導航控制器,以他們的xib的好處,是嗎?

如果是這樣,則使用廈門國際銀行與意見的方式:

NSArray * arr1 = [[NSBundle mainBundle] loadNibNamed:@"MyView1" owner:nil options:nil]; 
NSArray * arr2 = [[NSBundle mainBundle] loadNibNamed:@"MyView2" owner:nil options:nil]; 
NSArray * arr3 = [[NSBundle mainBundle] loadNibNamed:@"MyView3" owner:nil options:nil]; 
UIView * v1 = [arr1 objectAtIndex:0]; 
UIView * v2 = [arr2 objectAtIndex:0]; 
UIView * v3 = [arr3 objectAtIndex:0]; 

// now you have your 3 views, do what you want with them: 
v1.center = CGPointMake(100,100); 
[self.view addSubview:v1]; 
v2.center = CGPointMake(100,200); 
[self.view addSubview:v2]; 
v3.center = CGPointMake(100,300); 
[self.view addSubview:v3]; 
0

,這意味着你的第一個視圖控制器包含兩個視圖這是從secontroller.view和thirdviewcontroller.view現在第三個正在採取按壓姿勢,但第二是不採取新聞手勢。

請拿上firstviewcontroller.view 雙視角和那樣做

firstviewcontroller.secondVW=[[Secondviewcontroller alloc]init].view; 
    firstviewcontroller.thirdVW=[[Thirdviewcontroller alloc]init].view; 
以這種方式既視圖將採取觸摸