2011-09-21 75 views
1

我有一個UITableView我們只想放一個彩色正方形。根據UITableViewCell中的數據,UIView會更改其背景顏色。這就是現在的樣子。對我來說,最好只有一個UIImageView,併爲不同的顏色方塊有一個.png圖像,並根據UITableViewCell中的數據爲每個單元加載正確的一個。我不確定哪種方法更好,或者是否有更好的方法我不知道。有什麼想法嗎?謝謝。UIView或UIImage在UITableView中,有什麼更好的性能

回答

2

已經使用了表格單元格中包含的圖像,我不得不相信,只需使用UIView並將其背景顏色設置爲任何需要的就會快得多。

即使使用本地圖像(應用程序包中的圖像),想想所有額外的工作,你會創建一個UIImage,然後設置UIImageView的圖像屬性?

在我的情況下,在兩個不同的項目中,我不得不將圖像從網絡加載到表單元格中。相當緩慢,所以我們在後臺進行了處理,這有它自己的挑戰和特殊的條件來處理。這對你所描述的內容來說太過於誇張。

我會用UIView和背景顏色去。當然,你可以自己嘗試兩種方式,看看它是如何爲你工作的。 :-)請記住在真實設備上進行測試,因爲很容易被誤解爲「一切都很棒!」當你在模擬器上看你的應用程序尖叫! :-)

+0

如果我不想要一個quare UIView,而是一個圓圈,你知道這個性能是否相同?就像如果我必須做一些事情到UIView做一個圓圈(我沒有看過Quartz在一段時間,但我假設這是一個方法來獲得漂亮的UIViews作爲圓而不是正方形)。謝謝。 – Crystal

+1

通過在視圖上使用UILayer cornerRadius屬性,我實現了從其他方形UIViews(或其子類,如UILabel)實現的圓圈。 'view.layer.cornerRadius = 20',在這種情況下,20是視圖實際寬度的一半,高度與寬度相同,有效地將方形變爲圓形。但是在這裏要注意,因爲當你開始做更多的東西時,尤其是在圖層上時,你會在每個單元格被渲染時減慢你的表格滾動。當我們試圖給單元格的contentView添加陰影時,我們看到了這一點。非常慢。但你的里程可能會有所不同,所以試試吧。 :-) –

+0

感謝您的提示! – Crystal

1

我認爲用一些顏色填充背景比從文件加載圖像更好。它會更快,因爲你不需要訪問文件系統。

1

絕對只是使用視圖的背景顏色。充滿純色的不透明視圖是您繪製速度最快的事物之一;一個PNG會明顯變慢,會消耗更多的內存,並且會不必要地膨脹你的應用程序包的大小。

相關問題