# How do I repeatedly move an image by 1 pixel?

I have a method that is moving a UIImageView called shootImg across the screen:

-(IBAction)shoot{
if (appDelegate.shootInt > 0) {
if (direction == 1) {
shootImg.center = CGPointMake(shootImg.center.x+1, shootImg.center.y);
appDelegate.shootInt = appDelegate.shootInt - 1;
shootLabel.text = [NSString stringWithFormat:@"%d", appDelegate.shootInt];
}


This does seem to work. But it only moves shootImage 1 pixel. What I want to do is make it repeatedly move 1 pixel. I tried a while loop but that didn't seem to work. I'm not using cocos2d or anything like that and if you need to see more code just ask.

Thanks :)

• It would be better if you showed us the context of where you're using the shoot method.
– House
Mar 30, 2012 at 14:33
• Well it's just a UIButton. What do you mean by context?
– Will
Mar 30, 2012 at 14:58
• I see now. The function above is just a response to a button press?
– House
Mar 30, 2012 at 15:20
• Yeah, and shootimg is a UIImageView
– Will
Mar 30, 2012 at 15:33

[UIView beginAnimations:nil context:nil];