swift4

swiftでキャラクターをドラッグする。離した瞬間元の位置に戻る。

swiftのアプリを作るときにキャラクターをドラッグしたら、その指に付いてくるように動かすことはいろんなサイトや本を見てできた。「詳細!swift3 iphoneアプリ開発 入門ノート」のp499を参考にした

@IBAction func label1drag(_ sender: UIPanGestureRecognizer) {

let tomobo = sender.view!
tomb.center = sender.location(in: self.view)
}

ただ、ドラッグした後のキャラクターは指を離したところに残る。
そうではなくて、指を離した途端元の位置に戻るようにプログラミングする方法がなかったので考えた。

class ViewController: UIViewController {

//初めに動かしたいものをストーリーボードに配置して接続しておく
@IBOutlet weak var label1: UILabel!


//その動かしたいものにUIPanGestureRecognizerをつけて、それをAction接続する
@IBAction func label1drag(_ sender: UIPanGestureRecognizer) {
    switch sender.state {

//これでドラッグしている間は指に付いてくる
case .changed:
label1.center = sender.location(in: self.view)
//これで離した瞬間x:200, y:462に戻ってくる
case .ended:
label1.center = CGPoint(x:200, y:462)
default:
break
}

}