gpt4 book ai didi

swift - 我怎样才能像在 ios 中那样使用动画使流布局无效?

转载 作者:行者123 更新时间:2023-11-28 07:26:52 24 4
gpt4 key购买 nike

我正在 Xcode 中为 Mojave OSX 开发一个应用。

我想调整 collectionview 的大小和项目的位置。目前我调用了 invalidateLayout() 方法,但它会重新计算并设置没有动画的大小和位置。

在 GIF 中,您可以看到当前的行为,我需要以动画方式将最后一项转到第二行

为此我尝试覆盖 NSCollectionViewFlowLayout 的这个方法

  open override func prepare(forAnimatedBoundsChange oldBounds: NSRect){


}

open override func finalizeAnimatedBoundsChange() {

}

但是这些永远不会被调用,而且我不知道我需要什么代码来为这个过渡设置动画。

最佳答案

(从问题转移到答案。)

您可以覆盖 viewController 的 viewDidLayout(或将观察者分配给框架 View )并执行此操作:

 collectionView.animator().performBatchUpdates(nil)

这会重新加载带有动画的 collectionviewLayout。

关于swift - 我怎样才能像在 ios 中那样使用动画使流布局无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56361909/

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