想象一個基於iPhone的電子郵件客戶端。您有三個具有相同用戶界面的「狀態」:新消息,回覆和轉發(忽略其他任何人)。用於iPhone上單個視圖的多個視圖控制器
我想有一個視圖,並有不同的視圖控制器接口與視圖。鑑於視圖是在Interface Builder中構建的(有很多IBOutlets和IBAction),最好的方法是什麼?
想象一個基於iPhone的電子郵件客戶端。您有三個具有相同用戶界面的「狀態」:新消息,回覆和轉發(忽略其他任何人)。用於iPhone上單個視圖的多個視圖控制器
我想有一個視圖,並有不同的視圖控制器接口與視圖。鑑於視圖是在Interface Builder中構建的(有很多IBOutlets和IBAction),最好的方法是什麼?
我建議你說的沒有意義。
相同的視圖控制器(即,「您的應用程序」本質上)只會在三種需求之間發生變化。
此外,三個視圖看起來不太可能完全相同,因此可以創建三個不同的視圖/控制器。
(這是完全正常的,你有很多「相似」的觀點 - 這確實是剛剛獨立的觀點,但他們碰巧是圖形相似。)
而且 - 它很可能,你可以有一個整體觀( /控制器),而只是坐在裏面就是特定的寫/讀/任何視圖(/控制器)。
我希望它有幫助!
一種方法可能是創建一個包含所有Interface Builder連接的視圖控制器,然後多次對該視圖控制器進行子類化。在代碼中,您可以使用與-initWithNibName:bundle:相同的筆尖實例化子類。
或者,您的視圖控制器可能有一種「模式」值,它根據它應該處於的狀態確定其行爲。呈現它的視圖控制器將負責適當地設置它。
不要這樣做,它不受支持。一個視圖控制器始終負責一個視圖層次結構。 – 2010-11-22 03:41:08
@Jason在不同的視圖控制器中重複使用視圖是沒有問題的,這就是讓視圖控制器擺在首位的全部重點。 – kubi 2010-11-22 03:59:46
你是如何創建這些新的視圖控制器?你能通過感興趣的觀點嗎?即[viewController setStateView:currentStateView]; – joshpaul 2010-11-22 04:45:01