2017-06-02 38 views
1

我使用UICollectionView flowlayout self-sizing顯示兩個textview進行輸入。 當用戶輸入,我佈局無效self-sizing collectionview auto set contentoffset zero

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

但後來的CollectionView調用layoutSubViews,設置contentSize很多次,因爲contentSize太小,所以它叫setContentOffsetIfNeed,然後抵消爲零。 我需要抵消保持原來的價值。見下面調用堆棧: enter image description here

有人知道爲什麼要解決它嗎?

回答

0

也許你可以使用[self.context sizeToFit]要自行調整其大小

+0

我沒有發現UICollectionViewLayoutInvalidationContext有sizeToFit方法既不UICollectionViewLayoutAttributes – symbool