2016-11-21 37 views
0

我正在使用通用鏈接。 因此,當通用鏈接點擊應用程序是開放的,從AppDelegate中我加載視圖控制器:子視圖中的UIButton在父對象中調用方法

ConViewController *con = [[UIStoryboard storyboardWithName:@"Main" 
bundle:nil] instantiateViewControllerWithIdentifier:@"ControllerName"]; 

[[[UIApplication sharedApplication] keyWindow] addSubview:con.view]; 

在此(「CON」)視圖控制器我有UIView的一個NIB:

UIView *NibView = [[[NSBundle mainBundle] loadNibNamed:@"NibName" 
owner:self options:nil] lastObject]; 

[_PageView addSubview:SingleView]; 



------- 
| con | 
|  | 
|-----| 
||Nib|| 
|| || 
|-----| 
------- 

問題: 在NibView中我有UIButton。 按鈕操作的實現位於「ConViewController」中。 但是,只有當我把實現放在AppDelegate(Parent)中時纔會調用Action。

爲什麼會發生? 以及我如何改變它? 謝謝!

回答

1

當您在Window上將ViewController作爲子視圖添加時,您並未將View Controller設置爲rootView控制器,或者您沒有推送到視圖控制器(詳細地說,您只添加視圖控制器的視圖窗口),你的視圖控制器不在內存中,所以你在視圖控制器中創建的每個動作都不起作用,我們有一個基於堆棧的方法(即視圖控制器堆棧),而你的viewController不在堆棧或內存中,所以如果你創建appdelegate的按鈕動作。

+0

感謝您的回覆。 你能給我一個參考來學習更多關於它嗎? –

+0

希望你明白這一點,歡迎 – mukul

相關問題