gpt4 book ai didi

iphone - 将单元格添加到 UITableView 顶部

转载 作者:行者123 更新时间:2023-11-29 04:55:44 24 4
gpt4 key购买 nike

我想将行添加到 TableView 中,而不移动可见单元格,类似于 iPhone 上的 Twitter、Tweetbot 和其他几个。到目前为止,我尝试过的每种方法最终都实现了这一点,但在中间做了一些时髦的动画。这是当前的解决方案,它移动细胞,但最终停留在同一个地方。

- (void)controllerDidChangeContent:(NSFetchedResultsController*)controller
{
UITableViewCell *referenceCell;
if ([self.tableView.visibleCells count] > 0) {
referenceCell = [self.tableView.visibleCells lastObject];
}
CGFloat offset = referenceCell.frame.origin.y - self.tableView.contentOffset.y;

[self.tableView endUpdates];

[self.tableView setContentOffset:CGPointMake(0.0, referenceCell.frame.origin.y - offset) animated:NO];
}

最佳答案

试试这个:

  1. 像以前一样记录第一个可见单元格的偏移量
  2. 确保 UITableView 数据源已包含新项目的数据。
  3. 使用 UITableViewRowAnimationNoneUITableView 上调用 -insertRowsAtIndexPaths:withRowAnimation:。您可以一次性指定要插入的所有索引路径。插入的行数必须与新项目的数量相匹配。
  4. 像以前一样调用-setContentOffset:

避免在表格 View 上调用-beginUpdates-endUpdates-endUpdates 导致对原始单元格完成动画。

似乎仅 insertRowsAtIndexPaths 就可以为单元格添加动画。您可以尝试这样的解决方法:

for (UITableViewCell *cell in [tableView visibleCells])
{
[cell.layer removeAllAnimations];
}

关于iphone - 将单元格添加到 UITableView 顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com