LoginSignup
1
1

More than 5 years have passed since last update.

画像をドラッグさせる Swift3

Posted at

環境

-xcode8
-swift3

実行

on.gif

実装


import UIKit

let imageView = UIImageView()
var preDx : CGFloat!
var preDy : CGFloat!


class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()



//        let topImage:UIImage = UIImage(named:"topImage")!
//        let bottomImage:UIImage = UIImage(named: "bottomImage")!
//        let newSize = CGSize(width:bottomImage.size.width, height:bottomImage.size.height)
//        UIGraphicsBeginImageContextWithOptions(newSize, false, bottomImage.scale)
//        bottomImage.draw(in: CGRect(x:0,y:0,width:newSize.width,height:newSize.height))
//        topImage.draw(in: CGRect(x:0,y:0,width:newSize.width,height:newSize.height),blendMode:CGBlendMode.normal, alpha:1.0)
//        let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
//        UIGraphicsEndImageContext()




        let screenWidth:CGFloat = view.frame.size.width
        let screenHeight:CGFloat = view.frame.size.height

        //画像をイメージに追加
        imageView.image = UIImage(named:"topImage")!
        let newRect = CGRect(x:0, y:0, width:200, height:200)
        imageView.frame = newRect
        imageView.center = CGPoint(x:screenWidth/2, y:screenHeight/2)
        self.view.addSubview(imageView)
        imageView.isUserInteractionEnabled = true


        let panGestureRecognizer06 = UIPanGestureRecognizer(target: self, action: #selector(panGesture06(sender:)))
        imageView.addGestureRecognizer(panGestureRecognizer06)

    }


    func panGesture06(sender:UIPanGestureRecognizer) {

        if sender.state == UIGestureRecognizerState.began {
            preDx = imageView.frame.origin.x
            preDy = imageView.frame.origin.y
        }
        let point: CGPoint = sender.translation(in: self.view)
        let movedPoint: CGPoint = CGPoint(x: sender.view!.center.x + point.x, y: sender.view!.center.y + point.y)
//      print(movedPoint)
        sender.view!.center = movedPoint
        sender.setTranslation(CGPoint.zero, in: self.view)
    }



    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

ソース

github
画像をドラッグさせる Swift3

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1