我正在将一个 Objective C 应用程序转换为 Swift 并遇到一个问题。这是我的有效的目标 C 代码。
[CATransaction begin];
[CATransaction setAnimationDuration:seconds];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[[_topLabel animator] setFrameOrigin:NSMakePoint(x, y)];
[CATransaction commit];
这是我的 Swift 代码
CATransaction.begin()
CATransaction.setAnimationDuration(seconds)
CATransaction.setAnimationTimingFunction(CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut))
self.movingLabel.setFrameOrigin(NSMakePoint(x, y))
CATransaction.commit()
我的问题是标签会立即移动,而不是考虑持续时间。我在两个项目中都启用了核心动画层。
我是否遗漏了 Swift 转换代码中的任何内容或设置不正确?