2017-01-24 23 views
0

私は、期間機能付きのアニメーションを使用して画面を移動するUIImage(小さな赤い点)を持つ単純なアニメーションを持っています。ボタンもあります。ボタンが押されると、プログラムはUIImageがその瞬間にある座標を取得するはずです。私は座標を取得するために次のコードを使用しようとしましたが、開始位置と終了位置を取得するように見えます。Swift animationWithDuration中にオブジェクトの座標を追跡する

@IBAction func button(sender: AnyObject) { 

    let dot = Int(redDot.center.y) 

    print(dot) 
} 

ボタンをクリックしても、アニメーションが終了していない限り、ドットの開始位置がわかります。終了位置が印刷されます。

何か助けていただければ幸いです。この答えはあなたのビューのプレゼンテーション層に使用すると言うアニメーション

func GameLoop(){ 


    UIView.animateWithDuration(GLOBAL_ANIMATION_TIME, animations: { 

     //Animates Dot 
     self.redDot.center.y = -25 


     }) { (true) in 
      //Resets dot when animation is complete 
      self.redDot.center.y = UIScreen.mainScreen().bounds.height + 25 
    } 

} 

答えて

0

ため

コード:

@IBAction func button(sender: AnyObject) { 
    if let presentationLayer = redDot.layer.presentationLayer(), 
     let frame = presentationLayer.frame { 

     print("center y: \(frame.midY)") 
} 
:あなたのケースでは https://stackoverflow.com/a/7625335/1370336

を、それはこのようなものになるだろう

関連する問題