2016-04-07 10 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