草庐IT

invalidateLayout

全部标签

ios - 带有 invalidateSupplementaryElements 和 UICollectionViewLayoutInvalidationContext 的 invalidateLayout

我正在尝试刷新页脚(supplementaryElement)。我正在使用invalidatelayout方法。基于SO建议here.Apple文档here.我收到以下错误:Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'theinvalidationcontext()sentto-[UICollectionViewFlowLayoutinvalidateLayoutWithContext:]isnotaninstanceoftypeUICollectionViewFlowLayoutIn

ios - 为什么 invalidateLayout 不触发 UICollectionView 中的 sizeForItemAtIndexPath? (附代码)

问题是collectionView中的列数在旋转时不会保持在7(所需数量)。需要更改什么代码才能解决此问题?自定义UICollectionViewFlowLayout中的invalidateLayout似乎没有触发collectionView中的sizeForItemAtIndexPath方法?有任何想法吗?我真的只想在旋转时通过sizeForItemAtIndexPath调整列的大小。注意:我在这里没有使用Storyboard,而是有一个自定义View,我在其中放入了一个collectionView并引用了我自己的collectionView类。下面的代码工作正常,但是在旋转时它并没

ios - 为什么 invalidateLayout 不触发 UICollectionView 中的 sizeForItemAtIndexPath? (附代码)

问题是collectionView中的列数在旋转时不会保持在7(所需数量)。需要更改什么代码才能解决此问题?自定义UICollectionViewFlowLayout中的invalidateLayout似乎没有触发collectionView中的sizeForItemAtIndexPath方法?有任何想法吗?我真的只想在旋转时通过sizeForItemAtIndexPath调整列的大小。注意:我在这里没有使用Storyboard,而是有一个自定义View,我在其中放入了一个collectionView并引用了我自己的collectionView类。下面的代码工作正常,但是在旋转时它并没

ios - UICollectionView invalidateLayout 不会在屏幕方向更改时触发 sizeForItem

我有一个UICollectionViewController,它有一堆单元格,每个单元格都有屏幕尺寸。如果我以纵向或横向启动应用程序,一切都会按预期进行。问题是当我更改屏幕方向并调用collectionViewLayout.invalidateLayout()时,单元格大小保持不变,没有调整它们的大小。我不知道为什么会这样。这是一些代码:funccollectionView(_collectionView:UICollectionView,layoutcollectionViewLayout:UICollectionViewLayout,sizeForItemAtindexPath:I

ios - 使用 invalidateLayout 调用的高级 UICollectionView 动画

UICollectionViewProgrammingGuide说:Inadditiontoanimatinginsertions,deletions,andmoveoperations,youcaninvalidatethelayoutatanytimeandforceittoredrawitscontents.Invalidatingthelayoutdoesnotanimateitemsdirectly;whenyouinvalidatethelayout,thecollectionviewdisplaystheitemsintheirnewlycalculatedpositio