我有一个UIView类别,应该从一个点到另一个动画UIButton的动画。它正在运行,但按钮不会移动。看起来动画是成功的,但根本没有动作。animateWithDuration不是动画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];
你的症状让我觉得你正在使用自动布局。你在使用自动布局吗? – NJones 2013-02-21 21:11:41
@NJones是的 - 这个项目默认开启。当我回家时我会尝试关掉它。我不知道自动布局与核心动画混淆。 – glenstorey 2013-02-22 03:15:50