0
我有16個本地存儲的預渲染的40x40像素圖像,我想用作我的UITableViewCell圖像。我可以使用[UIImage imageNamed:]來顯示它們。但我注意到這會降低桌面視圖的滾動速度。UITableViewCell加載圖像
我已經查看了蘋果示例中的延遲加載等,並理解我需要在後臺線程或異步執行它,但還沒有找到本地圖像的示例。
任何人都可以幫忙嗎?
我有16個本地存儲的預渲染的40x40像素圖像,我想用作我的UITableViewCell圖像。我可以使用[UIImage imageNamed:]來顯示它們。但我注意到這會降低桌面視圖的滾動速度。UITableViewCell加載圖像
我已經查看了蘋果示例中的延遲加載等,並理解我需要在後臺線程或異步執行它,但還沒有找到本地圖像的示例。
任何人都可以幫忙嗎?
子類的UITableView細胞,開創細胞的新方法是這樣的:
- (void)setImage:(NSString *)imageName;
然後從那裏您用來設置圖像,改變它,而不是像做:
[cell setImage:nil];
[cell performSelector:@selector(setImage:) withObject:@"imageName" afterDelay:0];
將其更改爲performSelector:withObject:afterDelay:表示在tableView滾動時,不會執行設置圖像的代碼。這應該會導致滾動性能的顯着提高,因爲在滾動停止之前它不會將圖像設置到單元格中。
但是,您會發現滾動時缺少圖像,因此您可能需要考慮圖像位置中的一個小佔位符圖像,以便在滾動時顯示。
我個人使用這種方法有條件地在我的代碼。我檢測UIDevice的年齡,如果它的老一代設備我會像這樣延遲加載,以提高滾動性能。
謝謝安德魯..這對我來說工作得很好......乾杯! –