У меня есть UIButton созданного следующего кодИзменить фоновое изображение и анимировать UIButton при постукивании IOS 7
button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"refresh_icon.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"reload_selected.png"] forState:UIControlStateSelected];
[button addTarget:self action:@selector(buttonAction:)forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 20 , 20)];
Вот когда он нажал на buttonAction селектора называется и я анимировать кнопку вращения на 360 градусов например
- (void) buttonAction : (id) sender {
NSLog(@"Reload Button Clicked");
[self runSpinAnimationOnView:self.button duration:1.0 rotations:1.0 repeat:0];
}
- (void) runSpinAnimationOnView:(UIView*)view duration:(CGFloat)duration rotations:(CGFloat)rotations repeat:(float)repeat;
{
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
rotationAnimation.duration = duration;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = repeat;
[view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
Это работает хорошо, но это не то, что я на самом деле хочу. Я хочу, чтобы, щелкнув по моей кнопке, кнопка примет изображение «reload_selected.png» (которое я установил для UIControlStateSelected) в качестве фона, а затем запустите анимацию. Когда анимация закончена, кнопка снова вернется к ее фактическому фону («refresh_icon.png»).
Может кто-нибудь предложить некоторые изменения в коде, которые помогут мне достичь действия, описанного выше? Заранее спасибо за вашу помощь.
Спасибо за ваш ответ. Можете ли вы предложить образец кода? – ayon
См. Edit ... – Roshan