As you iterate through your loop, have a variable that holds the desired delay, and add to it at the end of each loop. We'll call this delay
.
Now, instead of calling:
[animButton.imageView startAnimating];
Do this:
[animButton.imageView performSelector:@selector(startAnimating) withObject:nil afterDelay:delay];
And each button will start animating after the accumulated delay.