gpt4 book ai didi

ios - ViewWillTransitonToSize 旋转动画

转载 作者:行者123 更新时间:2023-11-29 02:23:57 28 4
gpt4 key购买 nike

我正在尝试替换我的 UIcollectionView 上的默认 iOS 设备旋转动画。我在 transitionCoordinator 上使用 viewWillTransitionToSize 和 targetTransform() 来防止默认 View 旋转,然后使用转换将每个 visibleCell 旋转到正确的方向。它工作正常,除了:

  1. 不旋转可见矩形外边界上的单元格。
  2. 我的日志显示 collectionView.visibleCells() 数组给了我它应该给的东西:可见单元格,但我发现如果我让 View 以默认动画旋转,visibleCells 数组给了我可见单元格再加上附近的小区。
  3. 我一直在尝试访问这些“邻里”单元格以便旋转它们,但我的所有尝试都以失败告终。

这是我对 ViewWillTransitionTosize 的实现:

override func viewWillTransitionToSize( size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator){
super.viewWillTransitionToSize(size , withTransitionCoordinator: coordinator)

let transf : CGAffineTransform = coordinator.targetTransform()
let invertedRotation = CGAffineTransformInvert(transf)
let currentBounds = view.bounds
coordinator.animateAlongsideTransition({
_ in

self.view.transform = CGAffineTransformConcat(self.view.transform, invertedRotation )
self.undoRotation = CGAffineTransformConcat(self.undoRotation, transf)
self.view.bounds = currentBounds
}, completion: ({ finished in
if ( finished != nil){

UIView.animateWithDuration(0.5, animations: {
for cell in self.collectionView!.visibleCells(){
cell.contentView.transform = self.undoRotation
}
})}
})
)

这里是一个快速的 gif。说明问题:http://www.blessinglopes.com/Info

任何帮助将不胜感激!谢谢!

最佳答案

我通过实现一个单独的线程来解决这个问题,在该线程中单元格被动画化。您可以在下面的 git 存储库中查看代码。

https://github.com/rakeshbs/RotatingCollectionView

关于ios - ViewWillTransitonToSize 旋转动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781345/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com