2010-08-08 16 views
2

蘋果對UIViewController類文檔,有這樣一段話:的iAd和視圖控制器

:你不應該使用視圖控制器來管理意見只能填充其窗口,也就是說,只有部分的一部分由應用程序內容矩形定義的區域。如果你想有一個由幾個較小視圖組成的界面,將它們全部嵌入到單個根視圖中,並使用視圖控制器來管理該視圖。

使用iAd時,這是一個痛苦。問題是,我不想在具有像moveBannerViewOffScreen,didFailToReceiveAdWithError等方法的同一類中管理我的應用程序的內容。將它們放在同一個類中會降低模塊性。另外,當其他視圖控制器被推入時,我不能擁有導航堆棧,其中廣告仍保留在原地。

如果讀者遇到類似的問題,我很好奇,如果是的話,你是如何處理它們的?

回答

0

如果你想要模塊化,同時繼續使用從視圖控制器,create a category ivars。

+0

但橫幅視圖和應用邏輯都需要他們自己的ivars。在viewDidLoad中調用類別方法也感覺很尷尬。 – 2010-08-08 22:35:35

0

直接介紹的兩種方法是使用非UIViewController類作爲委託,或者使用UIViewController的子類作爲視圖控制器基類並將邏輯放在那裏。