2012-02-22 52 views
3

我想知道什麼是iOS開發的最佳實踐,當涉及到建立一個特定的屏幕的用戶界面。由於可以爲桌面視圖創建自定義單元格,因此可以使用tableview創建任何您想要的佈局/ UI。這導致我對我的問題:帶有Tableview或Scrollview的iPhone UI?

一般來說,當在iPhone應用程序上創建一個屏幕的內容比單個屏幕上的內容更多時,最好使用scrollview並將自定義視圖加載到滾動視圖中,或者創建一個tableview並讓你的自定義視圖改爲自定義的tableview單元格?

最後,它似乎可以達到完全相同的視覺效果,但什麼是最佳做法。如果使用tableview或scrollview構建特定的可滾動屏幕,我很難告訴應用程序我已下載。

在HTML中,您應該只使用該元素來顯示錶格數據,而不是用於佈局和樣式目的。在iOS中是這樣嗎?使用tableviews進行佈局的目的是不好的做法(例如,應用程序的主屏幕列出按鈕以轉到應用程序的其他部分)?

提前歡呼。

+1

這個問題的唯一的好答案是:'這取決於'。這真的不是SO – 2012-02-22 05:17:33

回答

8

如果您有大量內容需要滾動瀏覽,UITableView可能會幫助您減少內存使用量。

當一個細胞在視線之外滾動時,它會從視圖中移除並保留在UITableView之後供以後使用(通過-dequeueReusableCellWithIdentifier:)。如果內存不足,我相信那些看不見的視圖(UITableViewCell s)會被釋放。這基本上意味着你的應用只會保存實際可見的內存視圖。更多將被緩存,但如果需要可以隨時清除。

如果您顯示大量數據,並將其全部添加到UIScrollView,它可能會使用比使用UITableView更多的內存。您可能必須實施類似UITableView才能移除(並可能釋放)不可見視圖的機制。

所以,你基本上可以達到同樣的效果,但UITableView已經爲你做了很多工作。

如果您顯示大量數據(可能超過大約兩個屏幕),我傾向於使用UITableView

+1

的正確材料謝謝你的回答。我一般都傾向於使用桌面視圖來實現我的大部分屏幕布局,特別是爲了這種內存優勢。我真的很想知道在iOS開發社區中是否有嚴格的觀念,只有表格數據應該在桌面視圖中顯示。與HTML一樣,大多數前端開發人員會建議僅在

中顯示錶格數據。所以我真的很好奇,如果人們會看我的應用程序的代碼,並畏懼並說「eeww非桌面數據的tableview」。我想現在情況並非如此。 – user10702552012-02-22 05:47:23