gpt4 book ai didi

ios - uicollectionviewcell 内的 uitableview 的滚动问题

转载 作者:行者123 更新时间:2023-11-29 10:48:56 25 4
gpt4 key购买 nike

我在 uicollectionviewcell 中有一个 uitableview,但是当 uicollectionview 中有超过 2 个项目时,我遇到了 contentoffset 问题。如果我滚动第一个项目的 tableview 并滑动到第三个项目,则第三个项目的 tableview 与第一个项目的 contentoffset 相同。不同的数据,只是相同的contentoffset。这发生在偶数和奇数项目上。任何帮助将不胜感激。

最佳答案

如果不查看代码,您很可能会在表中看到相同的内容偏移量,因为您正在查看相同的表,这些表被重用,因为包含它们的单元格被重用。

如果您希望 TableView 保持其当前的内容偏移量,则 Collection View 数据源将需要记住每个索引路径处表的内容偏移量,并在配置每个单元格时更新这些偏移量。

例如在几乎代码中,如果模型是一个数组,则创建一个内容偏移数组:

@property ... NSMutableArray *tableOffsets;

[NSValue valueWithCGPoint:CGPointZero]初始化它,模型中的每个元素一个。确保包含 Collection View 的 VC 是包含的 TableView 的委托(delegate)。当表格 View 滚动时,找出哪个单元格包含它并记下内容偏移量。

- (void)scrollViewDidScroll:(UITableView *)tableView {
CGPoint co = tableView.contentOffset;
self.tableOffsets[indexPath.row] = [NSValue valueWithCGPoint:co];

要获取该索引路径,see the accepted answer here .然后在 cellForItemAtIndexPath 中,恢复包含的 TableView 的偏移量(可能在重用时已更改)...

UITableView *containedTableView = // however you get this
containedTableView.contentOffset = [self.tableOffsets[indexPath.row] CGPointValue];

关于ios - uicollectionviewcell 内的 uitableview 的滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261244/

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