我目前正面临着UITableView的严重滚动性能问题。我的自定义单元格中有以下子视图
我在网上读到,在自定义单元格中有多个子视图会对滚动性能产生严重影响。我找到了ABTableViewCell,但我不确定如何将当前代码移植到它上面。
我当前代码的片段
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString* PlaceholderCellIdentifier = @"PlaceholderCell";
int row = [indexPath row];
SomeClass *thisClass = [self.someClassArray objectAtIndex:row];
CustomCell* cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier];
if (cell == nil)
{
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:PlaceholderCellIdentifier] autorelease];
//Set Avatar imageview
UIImageView *avatarView = [[UIImageView alloc]initWithFrame:CGRectMake(5, CELL_SPACING,CELL_AVATAR_WIDTH, CELL_AVATAR_HEIGHT)];
avatarView.tag = 1;
//Set text Label
UILabel *textLabel = [[UILabel alloc]initWithFrame:CGRectZero];
textLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:13.0];
[textLabel setLineBreakMode:UILineBreakModeWordWrap];
textLabel.numberOfLines = 0;
textLabel.tag = 2;
//Add button1
UICustomButton *button = [[UICustomButton alloc]init];
button.tag = 3;
[self.contentView addSubview:avatarView];
[self.contentView addSubview:textlabel];
[self.contentView addSubview:button];
}
//Set Avatar imageview
UIImageView *thisAvatarView = (UIImageView *)[self.contentView viewWithTag:1];
thisAvatarView.image = self.dataForCell.user.avatar;
//Set data to text Label
NSString *text = [NSString stringWithFormat:@"%@",self.dataForCell.text];
CGFloat answerLabelHeight = [CustomCell getHeightOfLabel:self.dataForCell ofType:@"XXX"];
UILabel *thisTextLabel = (UILabel*)[self.contentView viewWithTag:2];
[thisTextLabel setFrame:CGRectMake(CELL_TEXT_LEFT_MARGIN, CELL_SPACING+CELL_USERNAMELABEL_HEIGHT+questionLabelheight,CELL_CONTENT_WIDTH - CELL_TEXT_LEFT_MARGIN*1.5, answerLabelHeight)];
thisTextLabel.text = someData;
//Set data to button
UICustomButton *thisButton = (UICustomButton *)[self.contentView viewWithTag:3];
[thisButton setButtonWithAnswer:self.dataForCell buttonType:@"like" navcon:self.navcon andFrame:CGRectMake(CELL_TEXT_LEFT_MARGIN, totalCommentLabelHeight + CELL_SPACING*4, 45, CELL_BUTTON_HEIGHT)];
thisLikeButton.imageView.image = [UIImage imageNamed:@"xxxx.png"];
}
对于长代码很抱歉,但是有人可以指导我如何开始使用ABTableViewCell进行此实现吗?