开发者

Smooth reload of uitableview data when rows are deleted

I am trying to reload a uitableview when it scrolls to the bottom of the screen. I delete the first few rows and add more rows to the bottom. Before the news rows are added to the uitableview's data source, i call the [tableview reloaddata] method. This is because i want the tableview to display the row which were previously visible on it.

It reloads the data correctly but there is a sudden jerk in th开发者_StackOverflowe tableview. It flashes which doesn't give a nice user experience. So my question is

  1. How to update the uitableview when few rows from the top are deleted without having the jerking/flashing effect?

  2. The current visible row should be retained in the refreshed view also.

Any ideas? There are no crashes as i update the data source correctly.

TIA,

Praveen S


delete the data from the data source in tableView delegate.

 -(void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
    {


            NSString *key = [keys objectAtIndex:indexPath.section];
            NSMutableArray *nameSection =[names objectForKey:key];

            int itemID=item.ID;
            if ([nameSection count]==1) {
                [self.keys removeObjectsInArray:[NSArray arrayWithObject:key]];

                [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationFade];
            }
            else {
                [nameSection removeObjectAtIndex:indexPath.row];
                [self.names setValue:nameSection forKey:key];

                [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] 
                                 withRowAnimation:UITableViewRowAnimationFade];
            }
        }

check this too

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜