2011-08-10 109 views
2

我正在開發像Instagram一樣的應用程序來學習iOS編程。Instagram iPhone應用程序問題

我的應用程序是一個圖像託管網站的客戶端,用戶可以從自己的iPhone分享圖片。

我有幾個問題:

  • 當你打開Instagram的和你看不到的TabBar有五個按鈕,你沒有登錄。您會看到一個帶有兩個按鈕的黑色欄,用於登錄和註冊。如果用戶沒有登錄,我怎麼能隱藏tabbar並顯示這樣的欄(可能是標準欄,右)?

  • 依靠您的意見,該應用程序模型的作用是什麼? (我應該使用模型還是暗示我只使用視圖控制器?)我首先想到的是「數據模型」,它是圖像數組。當用戶點擊「刷新帖子」按鈕時,該數組將會刷新。還有「流行影像」,所以我認爲這是另一個與全局影像陣列分開的陣列。它應該插入模型中,對嗎?我問這個是因爲我會很好地組織我的模型/控制器/視圖模式的應用程序。

如果你給我一些提示,我將不勝感激!

回答

1
  1. 當前沒有動畫模態視圖控制器,像siuying說。模式視圖控制器可以保存自己的實例UITabBarController,因此您可以在其中有一個標籤欄,其中包含登錄標籤和註冊標籤或類似標籤。在真實的主視圖控制器後面,有你正常的五個或者你正在做的事情。這樣,一旦用戶登錄,您可以關閉模​​式視圖控制器。 Easy

  2. 我不完全理解你的問題。當點擊標籤以加速/資源使用時,將圖像加載到它們自己的線程上。我不明白這是一個模型。你能澄清這一點嗎?謝謝。

+0

謝謝你的回答。重點是用戶登錄,匿名用戶必須看到相同的tabbarcontroller(具有相同的視圖控制器),除了底部的tabbar,應該只顯示兩個按鈕「登錄」和「註冊」。也許我可以隱藏tabbar並提供一個UIToolbar。關於第二個問題,我問在這個應用程序中模型的作用是什麼。我是一名新手iOS開發人員,我從未使用過模型,我在視圖控制器中完成了所有工作,但我知道這不是一種好的編程方式。 –

+0

從用戶的角度來看,它看起來像是同一個標籤欄控制器,特別是如果您使用動畫在兩者之間淡入淡出。或者,只要拿走現有的標籤欄控制器,並在登錄後添加新的標籤欄項目,同時刪除登錄和註冊項目。更難,但它會使用相同的標籤欄控制器,如果這就是你一心想做的事情。我的方式,它不會看起來不同。用戶會從他們的角度看到同一個人。 –

+1

聽起來好像你對模型和視圖感到困惑。當然,你將使用視圖控制器,或者至少是UIViews來顯示信息等。iOS編程的模型方面是將信息插入到視圖中的一種方式。這是一個概念而不是有形的物品。你的模型可以存在於它自己的類文件(.h和/或.m)中,該文件包含方法調用來加載圖像,以及爲你做任何你需要的東西。然後,只需#import你的類文件並從視圖控制器調用方法。或者,只需在視圖控制器中包含這些方法。這真的取決於你。查看MVC。 –

1
  1. 可在模態呈現上發射,在沒有登錄用戶的圖控制器(無動畫)。然後,可以關閉該模態視圖控制器登錄成功完成之後。

  2. 這裏的模型通常不僅指數據(圖像數組),還指應用程序的邏輯和行爲。例如,從服務器下載圖像應該在模型中實現。你可能想檢查MVC Pattern

+0

謝謝你的回答。我在@Dylan G評論中添加了詳細信息。 –