2011-07-26 36 views
0

我有一张桌子充满tableviewcells有一个imageview作为他们的突出显示颜色。缓慢加载tableviewcell突出显示图像

有时,当我点击某个单元格时,imageview会稍微加载。我想知道如何减少滞后?

我有以下几点:

cell.selectedBackgroundView = [DataSingleton sharedMySingleton].highlightView; 

里面的方法:

-(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ 

注:我我一下就可以了,每次打电话的单身。我会尝试在本地设置图像,看看是否有所作为。

编辑:所以我在viewDidLoad本地设置imageview,它似乎反应更快。我想我的问题是单身人士,但我希望能够一次更改所有高亮图像。有没有办法让全局变量快速加载?

回答

1

我不太确定,但以下可能有助于表现。

而不是在willDisplayCell方法中编写代码。你可以在cellForRowIndexPath方法中写入。当该单元分配内存

像这样

static NSString *CellIdentifier = [NSString stringWithFormat:@"MyIdentifier%d",indexpath.row]; 

UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 

cell.selectedBackgroundView = [DataSingleton sharedMySingleton].highlightView; 
} 

的想法设置selectedbackgroundView只有一次。你需要为此使用reuseidentifier。

希望得到这个帮助。

+0

嘿谢谢,这似乎工作! – jylee

+0

@jylee太棒了。感谢您打分答案。 – Deeps

+0

嘿,我还有一个与此有关的问题,但我不想提出另一个问题,我想知道你是否可以提供帮助。 我将突出显示保持选中状态,但当我转到另一个视图并单击其中一个tableviewcell并返回到原始视图时,突出显示的IMAGEVIEW消失了,但突出显示的文本颜色仍然存在,这意味着它知道它仍然突出显示,但imageview没有停留。 有什么建议吗? – jylee