Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 动画后禁用UIButton_Ios_Objective C_Uibutton - Fatal编程技术网

Ios 动画后禁用UIButton

Ios 动画后禁用UIButton,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我有这个按钮并应用这个动画。 问题是,在动画之后,按钮似乎被禁用。 该按钮位于UIView内,但其位置是固定的,不理解为什么禁用它 CABasicAnimation *alphaAnimation; alphaAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"]; alphaAnimation.duration=0.5; alphaAnimation.repeatCount=1; alphaAnimation.autoreve

我有这个按钮并应用这个动画。 问题是,在动画之后,按钮似乎被禁用。 该按钮位于UIView内,但其位置是固定的,不理解为什么禁用它

CABasicAnimation *alphaAnimation;

alphaAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"];
alphaAnimation.duration=0.5;
alphaAnimation.repeatCount=1;
alphaAnimation.autoreverses=NO;
alphaAnimation.fromValue=[NSNumber numberWithFloat:0.0];
alphaAnimation.toValue=[NSNumber numberWithFloat:1.0];

CAKeyframeAnimation *pulseAnimation;
pulseAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];
pulseAnimation.duration = 0.5;
pulseAnimation.repeatCount = 1;
pulseAnimation.values = [NSArray arrayWithObjects:
                         [NSNumber numberWithFloat:0.5],
                         [NSNumber numberWithFloat:1.2],
                         [NSNumber numberWithFloat:1.0], nil];
pulseAnimation.keyTimes = [NSArray arrayWithObjects:
                           [NSNumber numberWithFloat:0],
                           [NSNumber numberWithFloat:0.5],
                           [NSNumber numberWithFloat:1.0], nil];

pulseAnimation.timingFunctions = [NSArray arrayWithObjects:
                                  [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn],        // from keyframe 1 to keyframe 2
                                  [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut], nil]; // from keyframe 2 to keyframe 3

pulseAnimation.removedOnCompletion = NO;
pulseAnimation.fillMode = kCAFillModeForwards;

CAAnimationGroup *nearbyAnimation = [CAAnimationGroup animation];
[nearbyAnimation setAnimations:[NSArray arrayWithObjects:pulseAnimation, alphaAnimation, nil]];
[nearbyAnimation setDuration:0.5];
[nearbyAnimation setBeginTime:0.0];
[nearbyAnimation setRemovedOnCompletion:NO];
[nearbyAnimation setFillMode:kCAFillModeForwards];
[nearbyButton.layer addAnimation:nearbyAnimation forKey:nil];

谢谢

为什么动画没有在完成时删除?将removeOnCompletion设置为YES,然后看,它肯定会工作。由于已将动画附加到图层,且未将其删除,因此按钮不起作用。如果我设置为“是”,则按钮将消失。可能会重复