2010-03-14 42 views
0

編輯2:我現在認爲最好的解決方案是創建ListeningView.h,它只包含ListeningView協議,而不是繼承ListeningView(因爲我們無法在Obj-C中執行多重繼承)。然後,你還需要ListeningViewController。創建一個調用委託函數的UIView子類,只要它的父級viewController出現?

編輯:好吧,我想出了什麼是批准成語在這裏。我應該繼承UIViewController來創建ResponderViewController,當它出現/消失時,它將通過其ResponderViews的子視圖進行循環。然後,任何具有responderViews的viewController都應該從ResponderViewController繼承。

=======

UIViewControllers有viewWillAppear中,viewDidDisappear等委託方法。

我想創建一個UIView子類,可以添加到viewController的視圖,當該UIViewController apears或消失時,調用委託函數。

我可以很容易地通過在UIViewController viewWillAppear/viewWillDisappear委託函數中的函數調用來做到這一點,但我怎麼能將這種行爲封裝在UIView?

回答

1

如果我是你,我不會這麼做。所有那種行爲應該不被控制;這正是控制器的目的。

+0

這些視圖不會是全屏視圖,所以我不認爲我應該在這裏使用UIViewController。它的任何方法都不能正確呈現或隱藏視圖。如果有一個名爲PartialScreenViewController的類可以添加到viewController並且調用它的所有委託方法,那就是我所使用的。 – 2010-03-14 23:37:07

+0

ViewController應該控制它的所有子視圖,而不僅僅是那些填滿屏幕的子視圖。我有視圖控制器,控制幾十個子視圖,其中沒有任何一個填滿屏幕。喬納森是對的,這項工作應該在控制器中完成,而不是一個視圖。 – ader 2011-11-17 12:22:24

相關問題