我在屏幕上有几个按钮,他们需要移动动画。 我更新了循环中按钮的来源,但我的框架仅在for循环结束时更新。仅显示从第一个点到最后一个点的移动,忽略所有迭代帧。 这是我的代码:
var origin = btn.frame.origin
let diff = pos - btn.currPosition
print("initial pos : \(origin)\n")
print("diff : \(diff)\n")
for move in 1...diff {
// some calculations for movement, then
btn.animator().setFrameOrigin(origin)
btn.currPosition = position
}
任何人都可以告诉视图重绘时间吗?我已经使用setNeedsDisplay()和display()调用来重绘,但它只在循环完成后才起作用。