【发布时间】:2013-01-18 15:02:57
【问题描述】:
我有三个UIButton 对象在视觉上堆叠在一起。当用户点击一个按钮时,下面的按钮应该向下移动一定距离。我正在使用以下动画块:
// Assuming button 1 was clicked...
[UIView animateWithDuration:0.25f
delay:0.0f
options:UIViewAnimationOptionCurveLinear
animations:^(void) {
self.button2.frame = CGRectOffset(self.button2.frame, 0.0f, 20.0f);
self.button3.frame = CGRectOffset(self.button3.frame, 0.0f, 20.0f);
}
completion:^(BOOL finished) { NSLog(@"Finished"); }];
如果我增加动画持续时间,例如从0.25 到0.75,按钮不会保持在一起,而是开始以不同的时间间隔移动。我已经尝试过使用 Core Animation 方法,通过对动画和其他内容进行分组,但还没有找到任何解决方案。
你有什么想法吗?现在我将持续时间保持在0.25,直到我想出一些东西。
【问题讨论】:
-
就像一个注释一样,在 0.25 时,它们很可能也以不同的速率移动,只是由于速度的原因并不明显。链接动画的最具体解决方案是使用@bobnoble 的解决方案。 UIView 动画默认情况下只对原始图像进行动画处理,因此可以确保它们保持在一起。
-
@RyanPoolos 当然,你是对的。在我找到更好的解决方案之前,没有注意到效果就足够了:)