Skip to content

Instantly share code, notes, and snippets.

@mehmetfarhan
Created July 22, 2020 20:45
Show Gist options
  • Save mehmetfarhan/7d18c04819156b968769929942eea482 to your computer and use it in GitHub Desktop.
Save mehmetfarhan/7d18c04819156b968769929942eea482 to your computer and use it in GitHub Desktop.
DraggableView
import UIKit
import PlaygroundSupport
final class ViewController: UIViewController {
// Step 1
lazy private var draggableView: UIView = {
let view = UIView(frame: CGRect(origin: .zero, size: CGSize(width: 50, height: 50)))
view.backgroundColor = .red
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
// Step 2
draggableView.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(panGestureHandler(panGesture:))))
view.addSubview(draggableView)
}
// Step 3:
@objc
private func panGestureHandler(panGesture recognizer: UIPanGestureRecognizer) {
let location = recognizer.location(in: view)
draggableView.center = location
}
}
let viewController = ViewController()
PlaygroundPage.current.liveView = viewController
PlaygroundPage.current.needsIndefiniteExecution = true
@mehmetfarhan
Copy link
Author

Screen Shot 2020-07-22 at 11 40 08 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment