我在 UIView 上有一个类别,它应该动画 UIButton 从一个点到另一个点的移动。它正在运行,但按钮根本不动。看起来动画是成功的,但根本没有动静。
该按钮由一个重复的 NSTimer 调用,它倒计时到按钮动画的点(每秒检查一次是否为真,如果它是剩余点,当剩余点 == 0 动画时)。还有一个计时器每 0.01 秒调用一次,以对麦克风上的电平进行一些处理,但如果我提高频率,它仍然不起作用。
我认为我的动画代码没问题 - 但有些东西阻止了动画正确显示。如果我在动画之前在 viewDidLoad 中动画(虽然它从终点开始并动画到我在故事板中放置按钮的位置),但是如果我在程序流程中动画它不起作用。
该类别正确地超出了我的终点,并在 5 秒后“完成”。
类别:
@implementation UIView (Animation)
- (void) moveTo:(CGPoint)destination duration:(float)secs option:(UIViewAnimationOptions)option
{
NSLog(@"moveTo Category. destination: %@ and duration %f", NSStringFromCGPoint(destination), secs);
[UIView animateWithDuration:secs delay:0.0 options:option
animations:^{
self.frame = CGRectMake(destination.x,destination.y, self.frame.size.width, self.frame.size.height);
NSLog(@"self.frame: %@", NSStringFromCGRect(self.frame));
}
completion:^(BOOL finished){
NSLog(@"done");
}];
}
@end
动画代码:
[rewardAnimationButton moveTo:CGPointMake(100, 100) duration:5.0 option:0];