UICollectionView和UICollectionViewCell动画帧

时间:2019-01-19 20:43:57

标签: uicollectionview jquery-animate uicollectionviewcell

我需要为UICollectionView和UICollectionViewCell框架设置动画。最终结果是我所得到的,但在这两者之间,似乎有些幻影单元与正在动画的实际单元混合在一起。 CV会设置为其他大小的动画,并且CV单元将根据对CV的collectionViewLayout进行的设置来匹配新的大小。

这是起点: enter image description here

以下是动画的外观: enter image description here

最终结果符合预期: enter image description here

我的最终目的是使用UIViewPropertyAnimator()进行此操作,但是即使动画是由标准UIView动画触发的,您也会遇到相同的问题。

调用的主要方法是prepareLayout()。

  "compilerOptions": {
    "outDir": "build",
    "module": "esnext",
    "target": "es5",
    "lib": ["es6", "dom", "es2016", "es2017"],
    "sourceMap": true,
    "allowJs": false,
    "jsx": "react",
    "declaration": true,
    "moduleResolution": "node",
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "skipLibCheck": true
  },
  "include": ["./src/**/*"],
}

可以看出,我一直在玩CV的performBatchUpdates()和setCollectionViewLayout(),但无济于事。我需要reloadData(),因为诸如fontSize之类的东西在动画过程中会发生变化,这在使用UIViewPropertyAnimator()时将更为重要。

我的单元格是UICollectionViewCell的子类,其中具有UIButton。按钮的交互被禁用,因此我可以处理CV中的所有内容。

对如何纠正此问题的想法表示赞赏。

编辑:1月26日 这是一个公共回购协议,是该应用程序的精简版本,但可以说明问题所在: https://github.com/Phantom-59/CVAnimatorTest

0 个答案:

没有答案