2016-04-07 10 views
0

これを正しく実行しているかどうかわかりません。私を助けてください。私は2つの画像を画面上で前後に動かして、閉じて開いているように見せています。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'文を取り除き、「ヒット・スタート」するとアニメーションを実行するだけです。 'While'は、それが急速に何度も何度も実行してクラッシュを引き起こしています。 – Wes

関連する問題