我有一个 UITableView 在滚动时变得非常滞后。我的代码片段如下:
在我的“单元格 setupCell”中,我有一些自定义项目添加到单元格内容视图中
1 X UIImageView
3 X UILabel
3 个 X 按钮(UIControl 的子类)
我最初的测试似乎指向导致延迟的按钮。我在按钮类中有一些检查
我不确定延迟的确切原因是什么,因为这些检查似乎是非常简单和基本的操作。有人对通常导致这种滞后的原因有什么建议吗?
编辑:添加更多代码
我只想补充一点,当我第一次启动应用程序时滚动很流畅,在我多次上下滚动表格后它变得迟钝和缓慢。我的代码如下:
if (cell == nil)
{
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:PlaceholderCellIdentifier] autorelease];
//Add like button
UICustomButton *likeButton = [[UICustomButton alloc]init];
likeButton.tag = 7;
//Add comment button
UICustomButton *commentButton = [[UICustomButton alloc]init];
commentButton.tag = 8;
//Add answer too button
UICustomButton *answerButton = [[UICustomButton alloc]init];
answerButton.tag = 9;
[self.contentView addSubview:likeButton];
[self.contentView addSubview:commentButton];
[self.contentView addSubview:answerButton];
[likeButton release];
[commentButton release];
[answerButton release];
}
//Set like button
UICustomButton *thisLikeButton = (UICustomButton *)[self.contentView viewWithTag:7];
[thisLikeButton setButtonWithAnswer:self.answerForCell buttonType:@"like" navcon:self.navcon andFrame:CGRectMake(CELL_TEXT_LEFT_MARGIN, totalCommentLabelHeight + CELL_SPACING*4, 45, CELL_BUTTON_HEIGHT)];
thisLikeButton.imageView.image = [UIImage imageNamed:@"heart.png"];
//Set comment button
UICustomButton *thisCommentButton = (UICustomButton *)[self.contentView viewWithTag:8];
[thisCommentButton setButtonWithAnswer:self.answerForCell buttonType:@"comment" navcon:self.navcon andFrame:CGRectMake(CELL_TEXT_LEFT_MARGIN + 45 + 5, totalCommentLabelHeight + CELL_SPACING*4, 80, CELL_BUTTON_HEIGHT)];
thisCommentButton.imageView.image = [UIImage imageNamed:@"chat.png"];
//Set answer button
UICustomButton *thisAnswerButton = (UICustomButton *)[self.contentView viewWithTag:9];
[thisAnswerButton setButtonWithAnswer:self.answerForCell buttonType:@"join in" navcon:self.navcon andFrame:CGRectMake(1.5*CELL_TEXT_LEFT_MARGIN + 45 + 5 + 80 + 5, totalCommentLabelHeight + CELL_SPACING*4, 60, CELL_BUTTON_HEIGHT)];
thisAnswerButton.imageView.image = [UIImage imageNamed:@"beer-mug_white.png"];
我检查了仪器,它们似乎没有表明这部分代码有太多泄漏
在一系列滚动后,任何人都可以建议可能导致滞后的原因是什么?