Ich habe eine Tabellenansicht. Es wird Chaos von Daten vom Server erhalten. Jedes Mal, wenn die Tabellenansicht Daten empfängt, möchte ich sie als letzte anzeigen. Ich rief scrollToRowAtIndexPath:atScrollPosition:animated:
an, aber es lag an meiner App. Ich kann nichts anderes auf meinem Bildschirm tun, wenn ich zum Tabellenende blättern muss. Hier ist mein HauptcodeUITableView scrollToRowAtIndexPath: atScrollPosition: animiert: Lag meine App ernst
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier = @"tableViewCell";
DLtestCellTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
NSDictionary* dict = arr[indexPath.row];
cell.myLabel.attributedText = dict[@"content"];
[cell.myImageview sd_setImageWithURL:dict[@"imageUrl"] placeholderImage:[UIImage imageNamed:@"transparentPlaceHolder"]];
return cell;
}
und hier ist an der unteren Hauptcode Scrolling
- (void)reloadTableView
{
dispatch_async(dispatch_get_main_queue(), ^{
NSIndexPath *lastRow = [NSIndexPath indexPathForRow:row inSection:0];
[self.tableView insertRowsAtIndexPaths:@[lastRow] withRowAnimation:UITableViewRowAnimationLeft];
});
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];
}
versuchen, in Haupt-Thread (performOnMainThread) -Methode – SM18