特定の条件下においてのアニメーション処理
起動時にアニメーション処理が行われ、ボタンを押した時に再びアニメーション処理を行うといった動作がしたい場合、どのようにコーディングしていけばいいでしょうか?
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBOutlet weak var textLabel: UILabel!
@IBAction func actionButton(sender: AnyObject) {
//ここにアニメーションの動作を書きたい。
}
@IBOutlet weak var imageView: UIImageView!
override func viewDidAppear(animated: Bool) {
imageView.hidden = false
imageView.frame = CGRect(x: 100, y: 37, width: 240, height: 377)
//8.0秒間で位置を変える
UIView.animateWithDuration(8.0, delay:0.5,
options: UIViewAnimationOptions.CurveEaseInOut,
animations: {() -> Void in
//アニメーションの処理
self.imageView.frame = CGRect(x: 400, y: 37, width: 240, height: 377)},
completion:{(Bool) -> Void in})
}
}
1回目(起動時)のアニメーション処理のコードは書けたのですが、
ボタンを押した時のアニメーション処理が分からず・・・
クロージャをはずして書き込もうと思ったのですが、動作できず失敗しました。
ちなみにアニメーション処理は
//起動時(アニメーション前)
imageView.frame = CGRect(x: 100, y: 37, width: 240, height: 377)
//起動時(アニメーション後)
imageView.frame = CGRect(x: 400, y: 37, width: 240, height: 377)
//ボタンを押した時のアニメーション処理
imageView.frame = CGRect(x: 100, y: 37, width: 240, height: 377)
お詳しい方がいましたらご回答宜しくお願い致します。