2011-07-22 60 views
0

我正在尋找如何調整UITableViewCells的圖像大小,使它們大小相同。我遇到了這個帖子UITableViewCell's imageView fit to 40x40,並添加了創建縮略圖的方法作爲類別。它可以工作,但現在看起來比較慢,而且我想知道我是否將某些東西遺留下來或錯誤地使用該類別。目前,在我的cellForRowAtIndexPath方法中,這是我創建一個新的圖像,並使用此類別來調整它的大小。所以我猜這不是做這件事的方法,因爲現在它每次都要在表格中顯示時進行繪製?我是否需要爲每行創建縮略圖數組並使用它來代替原始圖像?如果是這樣,我將如何跟蹤這兩個數組(一個用於文本,一個用於圖像),以防重新排序。謝謝!爲UITableViewCell創建縮略圖imageView

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *PopoverIdentifier = @"PopoverIdentifier"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:PopoverIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:PopoverIdentifier] autorelease]; 
    } 
    NSUInteger row = [indexPath row]; 
    GTest *gt = [_gtList objectAtIndex:row]; 
    cell.textLabel.text = gt.Name; 
    UIImage *cellImage = [UIImage imageNamed:gt.ImageFile]; 
    cellImage = [UIImage scale:cellImage toSize:CGSizeMake(50, 50)]; 
    cell.imageView.image = cellImage; 
    return cell; 

} 

回答

1

,你可以創造出保存圖像和文本數據字典對象的數組:

NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:text,@"text",image,@"image"nil]; 
[array addObject:dict]; 

,並在你的cellForRowAtIndexPath:

NSDictionary* dict = [array objectAtIndex:i]; 
UIImage* img = [dict objectForKey:@"image"]; 
NSString* txt = [dict objectForKey:@"text"];