裏面我的cellForRowAtIndexPath設置我UILabel的之一,有以下文字:的cellForRowAtIndexPath滯後問題
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;
}
表中有多少行?如果您確信它是緩慢的objectForKey方法,則可能需要從您的'PFObject'類中發佈一些代碼。此外,除非在代碼中的其他位置發生更改,否則所有setFont和setHidden都可以進入if cell == nil語句。 – jrturton
VSCustomCell有多複雜?這意味着它有多少個子視圖?定製單元落後於許多uiviews是一個常見問題,如果出現這種情況,有幾種解決方案。 – adamsiton
有3個子視圖 – xonegirlz