TableView中的多个图像

时间:2010-12-03 16:13:15

标签: iphone uitableview iphone-sdk-3.0 uiimageview

我在tableView中有一个包含176个项目的NSMutableArray,我在tableView中为多个图像实现了此代码:

switch (indexPath.row) {
 case 0:
 cell.imageView.image = [UIImage imageNamed:@"meeting_color.png"];
 break;
 case 1:
 cell.imageView.image = [UIImage imageNamed:@"call_color.png"];
 break;
 case 2:
 cell.imageView.image = [UIImage imageNamed:@"calendar_color.png"];
 break;
 case 3:
 cell.imageView.image = [UIImage imageNamed:@"call_color.png"];
 break;
 case 4;
 cell.imageView.image = [UIImage imageNamed:@"calendar_color.png"];
 break;
 default:
 break;
 }

问题是我需要176个这样的情况,当我运行它时,它变得极其缓慢!虽然我实现了Tweetie中使用的快速滚动API。

2 个答案:

答案 0 :(得分:1)

您可以将图像/字符串存储在数组中,只需使用indexPath.row在需要时检索它们吗? IE浏览器。 cell.imageView.image = [images objectAtIndex:indexPath.row];

这样你不需要switch语句吗?

答案 1 :(得分:0)

您可以这样做:

注意:这只是一个伪代码。

String[] img={"calendar_color.png", "call_color.png", "meeting_color.png"};
for (int i=0; i <176; i++)
 {
  if(i==0)
    cell.imageView.image= img[2];
  else if(i % 2==0){
    cell.imageView.image=img[0];
  }
  else {
    cell.imageView.image=img[1];
    }
}

使用此作为洞察力 - &gt;你可以在一个数组中获取所有内容并使用indexPath.row获取指针。