gpt4 book ai didi

ios - 调用-reloadData后如何保持UITableView contentoffset

转载 作者:IT王子 更新时间:2023-10-29 07:35:03 25 4
gpt4 key购买 nike

CGPoint offset = [_table contentOffset];
[_table reloadData];
[_table setContentOffset:offset animated:NO]; //unuseful

// __block UITableView *tableBlock = _table;
// [self performBlock:^(id sender) {
// [tableBlock setContentOffset:offset];
// } afterDelay:2];

我知道不知道在 reloadData 之后调用的任何委托(delegate)方法。使用 afterDelay:2 是一种 hack,可能太短或太长,那么我该如何实现呢?

最佳答案

我遇到了这个问题,因为我在 cellForRowAtIndexPath 方法中弄乱了单元格大小。我注意到在执行 reloadData 后大小信息已关闭,所以我意识到我需要在设置内容偏移量之前立即强制它进行布局。

CGPoint offset = tableView.contentOffset;
[tableView.messageTable reloadData];
[tableView layoutIfNeeded]; // Force layout so things are updated before resetting the contentOffset.
[tableView setContentOffset:offset];

关于ios - 调用-reloadData后如何保持UITableView contentoffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640409/

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