2012-11-23 24 views
0

我只是在一年左右的時間後纔回到iOS開發中,並且正在尋找一種方法在UITabViewController視圖之上或之下擁有單個視圖。這個想法是在整個應用程序中使用一個廣告視圖,而不是每個標籤上的廣告視圖。廣告視圖的不斷重新初始化看起來像是一個很大的開銷,所以一直持續下去看起來會更有效。在iOS中有一個很好的方式在UITabViewController之外有一個視圖

我已經搜索了這個,但沒有找到任何東西,所以即使是有用的鏈接,將不勝感激。

在此先感謝,傑森

回答

1

我看到幾個方法在這裏:

  1. 由於你在你的應用程序的代理設置您的視圖層次,我建議建立一個獨立的UIViewController並從您的應用程序委託管理它。這樣你可以在主UIWindow中顯示/隱藏它,而無需做太多工作。

  2. 您可以繼承UITabBarController並在可見視圖控制器中顯示廣告。這是更多的工作,但是您的應用程序體系結構可以說是更乾淨,因爲您的應用程序委託不會與廣告相關的代碼混雜在一起。

  3. 另一種選擇是查看UIViewController類別,您可以在其中管理添加相關代碼。不一定是最乾淨的,但它可以讓您的應用程序代理和標籤欄控制器保持廣告。 (您想添加廣告視圖通過運行級調用和準對象的類別屬性,而是變得混亂。)

我可能會用第一種方法去如果是我​​,但我可以主張另外兩種方法之一,因爲廣告視圖並不需要它自己的視圖控制器。

+0

我認爲你是對的,1似乎是最自然的。對於其他類型的視圖控制器也是有用的,而不僅僅是廣告。現在我只需要弄清楚如何管理視圖的佈局。我無法相信去年我忘記了多少。 – Jason

1

如何創建一個父視圖控制器和每個視圖控制器從父視圖控制器繼承?父視圖控制器具有廣告視圖或表格視圖,因此每個子視圖控制器也都具有這兩個視圖。

+0

我沒有想到這一點。不過,我認爲我傾向於將廣告結構分離到自己的ViewController中。 – Jason

0

好吧,花了一些時間嘗試創建和管理客戶視圖控制器後,我偶然發現了Apple在iOS 5中添加的容器視圖控制器功能。我沒有必要支持iOS 4或更早的版本,所以這適用於我。有它的一個很好的描述在這裏(不幸的是,筆者從來沒有寫過零件2教程):

Container View Controller description

和體面的教程,請訪問:

Container View Controller tutorial

兩個之間這些我可以創建一個包含在Container View Controller中的AdViewController和BodyViewController(TabBarController)的良好設置。這給了我所需要的所有功能(至少目前爲止)。

相關問題