问题标签 [catransaction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
155 浏览

swift - CATransaction 完成块被调用两次

我正在尝试使用 CATransaction 制作 CABasicAnimation,因此我可以拥有一个 Completion 处理程序。它工作正常,但是当我退出视图控制器并返回时,完成块被调用两次:一次是动画开始时,一次是结束。我只想要它在最后。

奇怪的丁字裤是当我退出它并第二次回来时,完成被称为3次等等......

我认为该程序会创建多个 CATransaction。解决它的方法是取消 CATransaction 但我在网上一无所获。不过,我不确定。请帮我...

0 投票
0 回答
219 浏览

ios - UITableView deleteRows 动画错误(无论 rowAnimation 变量它总是消失)

我正在删除一行,通过编写UITableView以下RowAnimation .left内容应该非常简单 tableView.deleteRows(at: [indexPath], with: .left),但是问题来了,UITableView它不尊重rowAnimation我正在传递(left, right,top,bottom,fade)的内容,它只显示正常的动画

我尝试了不同的解决方案,例如



我也尝试过使用performBatchUpdates,我很确定它是一种错误,因为它在以前版本的 iOS 中工作,我使用的是 iOS 13 和 swift 5

还有一些其他答案,例如Question1,但没有一个有效

0 投票
0 回答
45 浏览

ios - CATransaction 完成被调用甚至视图控制器消失

我正在尝试使用从左到右滑动的三个图像来为我的图像视图设置动画。我编写了以下代码来做到这一点。但是,setCompletionBlock即使视图控制器消失,也会被调用。所以它会导致我以前的视图控制器出现奇怪的问题。如何在viewDidDisappear()其他地方或任何地方禁用它?

0 投票
0 回答
18 浏览

ios - 更改背景颜色时,CATransaction 持续时间不起作用

我想在导航控制器的过渡动画中使用隐式动画。我想将背景颜色从原来的更改为red. 但是,menuView的颜色会立即更改,并且也会立即调用完成块,而不是在 10 秒后。

知道这里有什么问题吗?

0 投票
1 回答
47 浏览

swift - 如何使用 CATransaction 为 CALayer 的出现设置动画?

我想为 a 设置动画CALAyer,使其看起来像是凭空出现的。我想我可以先将图层的变换设置为“缩放到 x:0,y:0”。然后做一个动画,将transform设置为“scale to x: 1, y: 1”,就是identity。我认为这会使图层看起来从无到有扩大。但是,当我尝试实现这一点时,该图层立即出现,没有动画。

MCVE:

然后在我的VC中:

我认为这是因为第一个setAffineTransform调用也是动画的(我不知道为什么会产生影响,但我怀疑这可能会产生影响),所以我尝试将第二个调用移动到完成块中:

但是,输出是相同的。另一方面,如果我在第一次setAffineTransform通话后稍等片刻,它就会起作用:

我不认为这是我应该如何解决这个问题。据推测,在那段时间里,某个生命周期方法被调用(我不知道是哪个),而我应该做的是setAffineTransform在该生命周期方法之后进行第二次调用......(?)

我知道我可以使用CABasicAnimation它,但我不喜欢我需要如何使用委托来检测动画的结束。这让很多事情对我来说非常麻烦。由于延迟 0.1 秒有效,这对 s 来说是不可能CATransaction的,对吧?

如何CALayer使用动画制作外观?