我使用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为零。 我需要抵消保持原始价值。见下面的调用堆栈:
任何人都知道为什么并解决它?
答案 0 :(得分:0)
也许你可以使用[self.context sizeToFit]
来自我调整大小