2010-11-22 268 views
0

想象一個基於iPhone的電子郵件客戶端。您有三個具有相同用戶界面的「狀態」:新消息,回覆和轉發(忽略其他任何人)。用於iPhone上單個視圖的多個視圖控制器

我想有一個視圖,並有不同的視圖控制器接口與視圖。鑑於視圖是在Interface Builder中構建的(有很多IBOutlets和IBAction),最好的方法是什麼?

+2

不要這樣做,它不受支持。一個視圖控制器始終負責一個視圖層次結構。 – 2010-11-22 03:41:08

+0

@Jason在不同的視圖控制器中重複使用視圖是沒有問題的,這就是讓視圖控制器擺在首位的全部重點。 – kubi 2010-11-22 03:59:46

+0

你是如何創建這些新的視圖控制器?你能通過感興趣的觀點嗎?即[viewController setStateView:currentStateView]; – joshpaul 2010-11-22 04:45:01

回答

2

我建議你說的沒有意義。

相同的視圖控制器(即,「您的應用程序」本質上)只會在三種需求之間發生變化。

此外,三個視圖看起來不太可能完全相同,因此可以創建三個不同的視圖/控制器。

(這是完全正常的,你有很多「相似」的觀點 - 這確實是剛剛獨立的觀點,但他們碰巧是圖形相似。)

而且 - 它很可能,你可以有一個整體觀( /控制器),而只是坐在裏面就是特定的寫/讀/任何視圖(/控制器)。

我希望它有幫助!

1

一種方法可能是創建一個包含所有Interface Builder連接的視圖控制器,然後多次對該視圖控制器進行子類化。在代碼中,您可以使用與-initWithNibName:bundle:相同的筆尖實例化子類。

或者,您的視圖控制器可能有一種「模式」值,它根據它應該處於的狀態確定其行爲。呈現它的視圖控制器將負責適當地設置它。

相關問題