所以我有一個有趣的設計問題,關於我正在開發的iPhone應用程序。我正在創建一個操縱圖像的應用程序,並且可以執行不同類型的操作。因此,用戶打開應用程序,並選擇他們想要執行的操作類型,並通過一步一步的過程來執行操作。有關iOS應用程序的複雜設計問題
很多操作都很相似,所以代碼可以在這裏重用。因此,我決定創建一個視圖和一個視圖控制器,而不是爲每個操作的每個窗口創建一個視圖控制器。該視圖包含每個圖像操作的步驟,並且每次增加到下一個步驟時,都會適當地重新組織它自己。視圖控制器由導航控制器控制,並且每次用戶前進到他們嘗試執行的任何圖像操作的下一步(即將新的視圖控制器推到堆棧上)時,我複製了我的視圖對象,將其設置爲將其組件重新組織到適當的步驟,然後將其發送到將顯示它的新視圖控制器。所以我的問題是,對於操作的一些階段,我需要添加一些按鈕到一個通用的工具欄,它連接到視圖控制器(因爲這是一個模態視圖,這個工具欄將有一個主頁按鈕,將使用戶能夠退回到主屏幕)。基本上,我有幾個問題應該如何處理:
1)我應該簡單地將工具欄添加到我正在使用的視圖中,而不是視圖控制器。如果是這樣,我怎麼會有工具欄上的主頁按鈕退出模態視圖?
2)我應該保持視圖控制器上的工具欄,並讓我的視圖返回一組按鈕來加載視圖時添加到它?那麼我想我必須在我的視圖控制器中列出所有的操作方法?
3)我應該保持視圖控制器上的工具欄,但從工具欄發送指針到我的視圖對象,然後添加按鈕在我的視圖類?我可以在我的視圖類中添加我的動作方法嗎?
無論如何,對不起,如果這是複雜的,如果你有任何後續問題,請讓我知道。
在整個過程中工具欄是否存在?如果是這樣,最好在另一個筆尖中創建一個嵌套視圖控制器。通過這種方式,您可以在頂部顯示一個不改變的工具欄(關於其指針位置),而下面的區域可以根據需要通過其自己的視圖控制器進行修改。 – justin
我創建的每個視圖控制器對象都具有相同的工具酒吧(有一個主頁按鈕)。我想只有一個工具欄,因爲屏幕空間對我的應用很重要。我甚至都不知道你可以嵌套視圖控制器,那麼在視圖中如何更好/不同呢? –
這與使用基於導航的應用程序基本相同。頂部的酒吧始終在場,讓您從視圖中瀏覽。如果您使用類似的方法,您可以保留對該欄的靜態引用,允許您根據需要添加/刪除。然後,從您傳遞的每個視圖開始,可以通過類似於「self.root.toolbar」的調用來獲取工具欄,如果有意義的話。無論如何,這是我會做的。它使傳遞信息和跟蹤你的視圖更容易 – justin