Можно попробовать создать пользовательскую кнопку UIButton и
добавьте UIImageView как его вид.
Тогда вы можете просто использовать анимацию UIImageView - один
из учебников здесь .
Я только что проверил код ниже, и он работает. Не совсем так, как вы хотите, но я уверен, что вы
удается изменить код для ваших нужд.
Приведенный ниже код добавляет 4 изображения и анимирует их в бесконечном цикле.
Возможно, вы захотите сохранить ссылку на animationView, чтобы вы могли запускать / останавливать
анимация, когда вы хотите. Или, если в вашем приложении будет больше анимированных кнопок, вы можете рассмотреть подкласс UIButton.
-(void) createButton {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self
action:@selector(buttonClicked)
forControlEvents:UIControlEventTouchUpInside];
button.frame = CGRectMake(80.0, 210.0, 160.0, 140.0);
UIImageView *animationView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0,0.0,160.0,140.0)];
NSMutableArray* imageArray = [[NSMutableArray alloc] initWithCapacity:4];
[imageArray addObject:[UIImage imageNamed: @"Frame_0.tiff"]];
[imageArray addObject:[UIImage imageNamed: @"Frame_1.tiff"]];
[imageArray addObject:[UIImage imageNamed: @"Frame_2.tiff"]];
[imageArray addObject:[UIImage imageNamed: @"Frame_3.tiff"]];
animationView.animationImages = [NSArray arrayWithArray:imageArray];
[animationView setAnimationDuration:1.0];
animationView.animationRepeatCount = 0;
[button addSubview: animationView];
[animationView startAnimating];
[self.viewController.view addSubview:button];
}