2017-06-19 11 views
1

下のコードは、ラベルを北に移動します。私はアニメーションがトリガする前にラベルをリセットする別のボタンを作成したいと思います。逆にアニメーションを再作成することはできますが、それは効率が悪いようです。アニメーションを適用する前のラベルの位置をリセットする(swift3)

@IBAction func press(_ sender: Any) { 
    UIView.animate(withDuration: 10, animations: { 
     self.label.frame.origin.y -= 500 
    }, completion: nil) 
} 
    @IBAction func reset(_ sender: Any) { 
    //reset the "label" position 
} 

答えて

0

これを試してみてください:

//To store the default value of the position of the label 
    var yPosLabel : CGFloat! 
override func viewDidLoad() { 
     super.viewDidLoad() 

     yPosLabel = self.myLabel.frame.origin.y 
     // Do any additional setup after loading the view. 
    } 

@IBAction func reset(_ sender: Any) { 
//Just in case you are using AutoLayout 
self.view. translatesAutoresizingMaskIntoConstraints = true 
let newFrame = CGRect(x:self.label.frame.origin.x, y:yPosLabel, 
width:self.label.frame.size.width, height:self.label.frame.size.height) 
self.label.frame = newFrame 
} 

は、この情報がお役に立てば幸いです。ハッピーコーディング。

関連する問題