iOS 13:UICollectionViewCompositionLayout的缓存?
在全新且非常整洁的iOS 13:UICollectionViewCompositionLayout的缓存?,ios,swift,uicollectionview,uicollectionviewlayout,wwdc,Ios,Swift,Uicollectionview,Uicollectionviewlayout,Wwdc,在全新且非常整洁的UICollectionViewCompositionalLayout中,uiCollectionViewLayoutAttribute如何在初始创建时缓存 由于新布局类继承自UICollectionViewLayout,因此所有已知的方法和属性似乎都在板上 回顾“旧的”自定义UICollectionViewLayout方法,据我所知,这样一个任务的路径是使用prepare()方法用定制的[UICollectionViewLayoutAttribute]填充(n)个数组 据我所
UICollectionViewCompositionalLayout
中,uiCollectionViewLayoutAttribute
如何在初始创建时缓存
由于新布局类继承自UICollectionViewLayout
,因此所有已知的方法和属性似乎都在板上
回顾“旧的”自定义UICollectionViewLayout
方法,据我所知,这样一个任务的路径是使用prepare()方法用定制的[UICollectionViewLayoutAttribute]
填充(n)个数组
据我所知,新的layout类通过WWDC19对话中的createLayout()
方法逐节创建布局,返回->NSCollectionLayoutSection
。它似乎只在初始化时这样做一次
现在,我将一个UICollectionViewCompositionalLayout
子类化,该类返回layoutAttributesForElements
:
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
let superAttributes = super.layoutAttributesForElements(in: rect)
print("I am returning attributes: ", supersAttributes)
return superAttributes
}
但是,由于它们不是手动创建的,我在哪里可以一次捕获这些属性以添加到缓存数组
这条路径的原因是我正在尝试重新创建一个非常非常高的collectionViewLayout,我需要缩放它。而这只有通过使用缓存、在缩放期间修改缓存属性以及在整个生命周期中从缓存返回layouttributesforements(in:rect)
才能实现(至少在过去是这样)。
我在Ray Wenderlich的tuturials和其他地方见过这种技术
任何输入都将是伟大的!让我们有一些有趣的了解新的和更容易的世界争吵收集意见
非常感谢你的阅读