2016-04-07 12 views
0

我不知道我是否正确地做到了这一点。请帮帮我。我试图在屏幕上来回移动两个图像,使其看起来像是关闭和打开。前后移动UIImages

while (x>=1) { 

    var customFrame1 = Laser1.frame 
    if isImageLeftSide { 
     customFrame1.origin.x = customFrame1.origin.x + 25 
    } 
    else { 
     customFrame1.origin.x = customFrame1.origin.x - 25 
    } 

    var customFrame2 = Laser2.frame 
    if isImageLeftSide { 
     customFrame2.origin.x = customFrame2.origin.x + 25 
    } 
    else { 
     customFrame2.origin.x = customFrame2.origin.x - 25 
    } 
     x += 1 
    } 

回答

0

使用此:

while (x >= 1) { 

    UIView.animateWithDuration(YOUR_ANIMATION_DURATION) { 

     if isImageLeftSide { 
      Laser1.frame.origin.x += 25 
     } else { 
      Laser1.frame.origin.x -= 25 
     } 
    } 

    UIView.animateWithDuration(YOUR_ANIMATION_DURATION) { 

     if isImageLeftSide { 
      Laser2.frame.origin.x += 25 
     } else { 
      Laser2.frame.origin.x -= 25 
     } 
    } 

    x += 1 
} 

注:如果Laser1Laser2是类的属性,你将不得不使用在动画块self.Laser1self.Laser2

+0

这仍然不起作用。当我启动应用程序时,它会在我开始时冻结。 – WillFrankel

+0

在这种情况下,请删除'while'语句,并在“点击开始”时运行动画。 '尽管'使它一次又一次地快速执行,导致崩溃。 – Wes