自行调整集合视图自动设置contentoffset零

时间:2017-06-02 07:46:15

标签: ios objective-c uicollectionview

我使用UICollectionView flowlayout自行调整显示两个textview进行输入。 当用户输入时,我使布局无效

UICollectionViewLayoutInvalidationContext *context =
[[UICollectionViewFlowLayoutInvalidationContext alloc] init];
[context invalidateItemsAtIndexPaths:@[indexPath]];
context.contentSizeAdjustment = CGSizeMake(0, newHeight - oldHeight);
[self.flowlayout invalidateLayoutWithContext:context]; 

但是随后collectionview调用layoutSubViews,多次设置contentSize,因为contentSize太小,所以它调用setContentOffsetIfNeed,然后offset为零。 我需要抵消保持原始价值。见下面的调用堆栈: enter image description here

任何人都知道为什么并解决它?

1 个答案:

答案 0 :(得分:0)

也许你可以使用[self.context sizeToFit]来自我调整大小