我有两个UIButton,用户可以选择其中一个,所以当选择一个时,另一个被取消选择。我想像这样动画这个变化:
我知道我需要使用Core Graphics,但我怎样才能实现这一目标?
感谢您的帮助
答案 0 :(得分:0)
您想在悬停圆图上使用线性插值。 它的工作方式是这样的:
Final Position = [(Destination Position) * Time/TotalTimeForMovement] + [(Origin Position) * (1-Time/TotalTimeForMovement)]
假设您想在0.2秒内将白色悬停图形从Layer1移动到Layer2,当用户将他/她的鼠标从Layer1移动到Layer2时。在这种情况下,您需要每帧更新图形位置,其中:
最终位置= [(第2层位置)* CurrentTimePassed / 0.2] + [(第1层位置)* 1-(CurrentTimePassed / 0.2)]
所以继续这个例子:让我们假设Layer1的位置是(0,0),Layer2的位置是(10,0)。然后,进入运动0.1秒(假设它在0.2秒内完全移动),图形的位置应为:
= (0, 10) * 0.1/0.2 + (0, 0) * 1-(0.1/0.2)
= (0, 10) * 0.5 + (0, 0) * 1-0.5
= (0, 10) * 0.5 + (0, 0) * 0.5
= (0, 5) + (0, 0)
= (0, 5)
Layer1和Layer2之间的关系。希望有所帮助。