【Swift】[11]コンポーネントをスワイプで移動できるようにする方法 投稿日: 2018年10月24日2019年1月27日 投稿者: Ediie 画面に表示されているコンポーネントをスワイプなどで動かすためには、下記のコードを実装することによって実現することができます。 var currentPoint_x = 動かしたいコンポーネントの初期座標(x) var currentPoint_y = 動かしたいコンポーネントの初期座標(y) @objc func Move(_ sender:UIPanGestureRecognizer){ switch(sender.state) { case .began: [動かしたいコンポーネント].layer.position = CGPoint(x: currentPoint_x, y: currentPoint_y) break case .changed: let differPoint = sender.translation(in: コンポーネントのsuperview) [動かしたいコンポーネント].layer.position = CGPoint(x: currentPoint_x + differPoint.x, y:currentPoint_y + differPoint.y) break case .ended: currentPoint_x = [動かしたいコンポーネント].layer.position.x currentPoint_y = [動かしたいコンポーネント].layer.position.y break default: break } } このように各コンポーネントに対してスワイプをした時に指についてくるように移動させたい場合には、上記のUIPanGestureRecognizer()の実装を行えば出来ます。上記のコードだけでは、どのコンポーネントに対してこの機能を持たせるか宣言されていないので、下記のコードも適切な関数内に記載して下さい。 let Movegesture = UIPanGestureRecognizer(target: self, action: #selector([上記UIPanGestureRecognizerを記載したクラス名].move(_:))) [コンポーネント].addGestureRecognizer(Movegesture) Related posts 【Swift】[6] 配列の定義方法・配列への要素の追加方法 【Swift】[19]UITableViewを継承したViewに更新機能を追加する 【Swift】[18]アプリ内での写真、動画の使用許可状態の確認方法