Для Swift 4 Легкий и простой способ.100
Шаг 1: Подключите кнопку из раскадровки для просмотра контроллера.И установить все основные ограничения AutoLayout
@IBOutlet weak var cameraButton: UIButton!
Шаг 2: Добавить жест панорамирования для вашей кнопки In viewDidLoad ()
self.cameraButton.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(self.panGestureHandler(panGesture:))))
Шаг 3:
Добавить panGestureHandler
@objc func panGestureHandler(panGesture recognizer: UIPanGestureRecognizer) {
let location = recognizer.location(in: view)
cameraButton.center = location
}
И теперь ваша кнопка Действие
@IBAction func ButtonAction(_ sender: Any) {
print("This is button Action")
}

Добавить Смотреть результат ☝️