我有一个UITableView,我在其中添加了动画(使用insertRowsAtIndexPaths:withRowAnimation:)。只要表格不长于屏幕,这一切都很好。

如果它大于屏幕,那么我试图滚动到底部,但是我想要的不是很有效。如果在添加后滚动到新行,则会错过动画。如果在添加索引路径之前尝试滚动到该索引路径,它将引发异常(关于它不是有效的索引路径)

除了添加空白行,还有其他解决方案吗?

最佳答案

是的,没有不添加空白行的解决方案。

注意:在代码中,我认为只有1个部分,但有很多行。您也可以修改代码以管理多个部分。

- (void)theMethodInWhichYouInsertARowInTheTableView
{
     //Add the object in the array which feeds the tableview
     NSString *newStringObject = @"New Object";
     [arrayWhichFeeds addObject:newStringObject];

     [myTableView beginUpdates];

     NSArray *paths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:([arrayWhichFeeds count] - 1) inSection:0]];
     [myTableView insertRowsAtIndexPaths:paths withRowAnimation:NO];

     [myTableView endUpdates];
     [myTableView reloadData];
     [myTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:([arrayWhichFeeds count] - 1) inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}

关于iphone - UITableView滚动到底部以查看插入动画,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3827323/

10-12 02:31