簡體   English   中英

uicollectionviewcell內的uitableview滾動問題

[英]Scrolling issue with a uitableview inside a uicollectionviewcell

我在uicollectionviewcell中有一個uitableview,但是當uicollectionview中有兩個以上項目時,contentoffset出現問題。 如果滾動第一項的表視圖,然后滑動到第三項,則第三項的表視圖的內容偏移量與第一項的表相同。 不同的數據,只是相同的contentoffset。 這發生在偶數和奇數編號的項目上。 任何幫助將不勝感激。

如果不查看代碼,您可能會在表中看到相同的內容偏移量,因為您正在查看的是相同的表,這些表已被重用,因為包含它們的單元格已被重用。

如果您希望表視圖保持其當前內容偏移量,那么收集視圖數據源將需要記住每個索引路徑中表的內容偏移量,並在配置每個單元格時更新這些偏移量。

例如,以幾乎是代碼的方式,如果模型是一個數組,則創建一個內容偏移量數組:

@property ... NSMutableArray *tableOffsets;

使用[NSValue valueWithCGPoint:CGPointZero]初始化模型中的每個元素。 確保包含集合視圖的VC是所包含表視圖的委托。 當表格視圖滾動時,找出包含它的單元格並記下內容偏移量。

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

要獲取該索引路徑, 請在此處查看已接受的答案 然后在cellForItemAtIndexPath中,還原包含的表視圖的偏移量(重用時可能已更改)...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM