2011-05-27 81 views
0

我正在構建一個iPhone應用程序,我對於應該爲視圖和控制器選擇哪種方法感到困惑。項目的最佳iPhone應用程序方法

我想有一個在三個選項底部的標籤欄。我還想在應用程序顯示時顯示主視圖(以及tabbar),但我不希望此視圖成爲tabbar選項的一部分。

因此,當應用程序開始時,tabbar沒有選擇選項,但顯示了主視圖。當選中一個標籤欄選項時,在其頂部欄中應顯示一個返回按鈕到主視圖。當按下後退按鈕時,主視圖將再次顯示,並且沒有選中選項卡選項。

我應該選擇哪種方法?

希望它是有道理的。

謝謝。

回答

0

您應該閱讀Apple的Human Interface Guidelines,因爲如果他們認爲使用TabBarController這樣的實現令人困惑,它們可能會拒絕您的應用程序。

作爲一種替代方法,您可以使用頂部導航欄中的按鈕將其視爲可訪問的「主視圖」,然後將其添加到所有三個選項卡。不一定是更好的設計,但你可能不會違反準則。

一個更好的選擇可能是在底部使用UIToolBar,而不是Tab鍵欄,它有三個按鈕以模態形式生成視圖,然後可以按照您的建議解散視圖。

請記住,您的應用程序的用戶已經瞭解了應用程序通常應該如何導航,感覺和控制的知識,因此您應該在決定採取反對措施之前仔細思考。

+0

謝謝。我會研究一下。當然,我可以重新思考一切,並且適合蘋果所建議的一切。 – 2011-05-27 18:22:02

1

我明白你想要做什麼,但你不應該那樣做。我根本不喜歡那種設計。每個選項卡應該有一個導航控制器。

+0

這也是蘋果公司推薦的方式。 – jer 2011-05-27 15:48:09

+0

感謝您的回答! – 2011-05-27 18:21:32

+0

@Felipe,我看到你是新來的,所以我只是想讓你知道你應該接受最能幫助你的答案。 – 2011-05-27 18:29:54

0

首先,我認爲你應該重新考慮給你的主視圖它自己的選項卡。這樣用戶就可以輕鬆地返回到該屏幕。但是,如果你仍然不喜歡這個想法,請繼續閱讀...

UITabBarController有一個不幸的副作用,即一旦創建就不能被刪除(即使你通過編程實例化它來延遲創建)。

SO ...

選項1:讓你的MainView一個modalPresentation子視圖,顯示它放在你的標籤欄(隱藏選項卡中的視圖之一的頂部,直到你準備好再次顯示)。

選項2:給你的第一個選項卡中的一個子視圖...

mySubViewController.hidesBottomBarWhenPushed = YES;

這將使UITabBarController暫時消失(就在該視圖上,直到您準備再次顯示選項卡爲止)。

這兩個選項對我來說都顯得有點亂,但它們是可能的。我想,取決於你如何執行它們。

希望這會有所幫助!

+0

謝謝@PeedlePower。我認爲最好的選擇是重新考慮一切。 – 2011-05-27 18:22:29

0

您可以將主視圖添加爲另一個選項卡。

OR

你目前的主視圖模態,當應用程序開始在標籤欄的意見。

如果視圖擁有與選項卡相同類型的內容,則會使用第一個選項,例如,如果應用程序是在線商店,則選項卡將是類別,搜索和最近添加的, 「主視圖」是主頁(顯示優惠或其他內容)。 (所以所有的視圖/標籤會顯示商店中的產品)

如果主視圖的內容與選項卡不同,則第二選項將更多。 保持在線商店示例,如果選項卡是類別,搜索和最近添加以及您稱爲「主視圖」是登錄/註銷屏幕。 (所以選項卡會顯示產品,但模式視圖(「主視圖」)與管理更相關,並且主要目的不是顯示產品。

相關問題