2012-10-08 24 views
0

我有一個UITableView在舊手機上遇到性能問題。表格單元具有從網絡中拉出的動態內容,因此它們的高度都不相同。現在,我正在使用背景圖片來展示根據內容高度拉伸的單元格。動態高度表單元格性能問題

在iPhone 5和4S上,表格滾動性能非常平滑,但在iPhone 4上它有點波濤洶涌。

我相信問題是背景圖片。現在,圖像具有alpha透明度,可以爲每個單元格添加陰影。我使用透明膠片閱讀這些圖像會導致UITableViews中的性能問題,但這是從2008年的一個帖子回來的,當時iPhone的整體速度並不快。阿爾法透明度是否會導致問題?

此外,如果我以編程方式繪製單元格背景而不是使用背景圖像,會獲得更好的性能嗎? Facebook和Foursquare這些具有自定義動態單元格的應用程序如何繪製單元格的背景?

回答

0

如果您自己繪製所有單元格內容,即使使用常見的UI元素(例如UILabelUIImageView),也可以獲得最佳性能。

App Store中的許多成功應用都使用這種技術。而且,是的,如果性能是一個問題,請儘可能避免使用透明視圖。

+0

嗯,你用什麼來代替'UILabels'和'UIImageViews'? – bmueller

+0

您子類'UITableViewCell'並覆蓋'drawRect'。您可以使用QuartzCore例程繪製線條,文本,圖像等。 – Mundi