在我的cellForRowAtIndexPath中,我用以下内容设置了我的一个UILabel的文本:
cell.detail.text = [[poll objectForKey:@"parent"] objectForKey:@"name"];
但是,当我向上和向下滚动单元格时,这会导致单元格滞后,这只是第一次。我第一次完成从顶部到底部的滚动(这是滞后部分)并尝试再次进行第二次(从上到下滚动)。这不会滞后。为什么是这样?这是我的完整代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"VSCustomCell";
VSCustomCell * cell = (VSCustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray * nib = [[NSBundle mainBundle] loadNibNamed:@"VSCustomCell" owner:self options:nil];
cell = (VSCustomCell *)[nib objectAtIndex:0];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
}
[cell.main setFont:[UIFont fontWithName:@"cafeta" size:14]];
[cell.detail setFont:[UIFont fontWithName:@"Bebas" size:8.0]];
[cell.detail setTextColor:[UIColor grayColor]];
PFObject * poll;
[cell.stats setHidden:NO];
[cell.stats setEnabled:YES];
[cell.stats addTarget:self action:@selector(stats:) forControlEvents:UIControlEventTouchUpInside];
[cell.stats setTag:indexPath.row];
poll = [self.spotsResults objectAtIndex:indexPath.row];
if (poll){
cell.main.text = [poll objectForKey:@"question"];
cell.detail.text = [[poll objectForKey:@"parent"] objectForKey:@"name"];
}
return cell;
}
答案 0 :(得分:0)
滚动变得越来越快意味着细胞会被重复使用。这是个好兆头。 所以问题出现在第一阶段,即创建单元格if(cell == nil){}。尝试再次为单元格创建xib(不要忘记在xib中为单元格添加重用标识符)。