如何在 swift 3 中将视图拖动到其他视图中



我想在swift 3中将视图拖到其他视图中,我搜索了许多方法,但它们都在objective-C中。

任何 swift 的帮助将不胜感激。

谢谢

您可以使用以下命令简单地实现相同的目的:

   @IBAction func handlePan(_ recognizer: UIPanGestureRecognizer) {
        let translation: CGPoint = recognizer.translation(in: view)
        let recognizerFrame: CGRect? = recognizer.view?.frame
        recognizerFrame?.origin.x += translation.x
        recognizerFrame?.origin.y += translation.y
        if view.bounds.contains(recognizerFrame) {
            recognizer.view?.frame = recognizerFrame
        }
        else {
            // Check vertically
            if recognizerFrame?.origin.y < view.bounds.origin.y {
                recognizerFrame?.origin.y = nil
            }
            else if recognizerFrame?.origin.y + recognizerFrame?.size.height > view.bounds.size.height {
                recognizerFrame?.origin.y = view.bounds.size.height - recognizerFrame?.size.height
            }
            if recognizerFrame?.origin.x < view.bounds.origin.x {
                recognizerFrame?.origin.x = nil
}
    else if recognizerFrame?.origin.x + recognizerFrame?.size.width > view.bounds.size.width {
                recognizerFrame?.origin.x = view.bounds.size.width - recognizerFrame?.size.width
            }
        recognizer.setTranslation(CGPoint(x: 0, y: 0), in: view)
    }
oldView.addSubview(newView)
newView.leftAnchor.constrains(equalTo: oldView.leftAnchor).isActive = true
newView.rightAnchor.constrains(equalTo: oldView.rightAnchor).isActive = true
newView.topAnchor.constrains(equalTo: oldView.topAnchor).isActive = true
newView.bottomAnchor.constrains(equalTo: oldView.bottomAnchor).isActive = true

最新更新