скопируйте объект и поместите его в представление

#swift #copy #clone #func #touchesbegan

#swift #Копировать #клонировать #функция #touchesbegan

Вопрос:

Мой приведенный ниже swift-код при сборке кода помещает коричневый uiview в контроллер представления. Что я хотел бы, чтобы это делалось, так это когда пользователь нажимает на кнопку копирования, а затем коричневое поле повторно касается контроллера представления, объект вставляется туда. Весь мой код приведен ниже, и раскадровки нет. Ниже также есть gif-файл с функцией копирования.

введите описание изображения здесь

 import UIKit

class ViewController: UIViewController {



    var addBoxes = [UIImageView]()
    let subview = UIImageView()
    var currentView: UIView?

    var copyButton = UIButton()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        copyButton.translatesAutoresizingMaskIntoConstraints = false
            view.addSubview(copyButton)

     
        copyButton.setTitle("Copy", for: .normal)
        
  
        NSLayoutConstraint.activate([

            copyButton.leadingAnchor.constraint(equalTo: view.leadingAnchor),
            copyButton.bottomAnchor.constraint(equalTo: view.bottomAnchor),
            copyButton.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.04),
            copyButton.widthAnchor.constraint(equalTo:view.widthAnchor ,multiplier: 1),
            
          
        ])

   
        let subview = UIImageView()
        
        
        subview.isUserInteractionEnabled = true
        addBoxes.append(subview)
        view.addSubview(subview)
        
        let pan = UIPanGestureRecognizer(target: self, action: #selector(handlePanGestured(_:)))
        
        
        subview.addGestureRecognizer(pan)

        
        subview.frame = CGRect(x: view.bounds.midX , y: view.bounds.midY   CGFloat(100), width: CGFloat(100), height: 100)
        subview.backgroundColor = .brown

        
        addBoxes.append(subview)

        
        copyButton.backgroundColor = .blue
        copyButton.addTarget(self, action: #selector(copyObject), for: .touchDown)
    
       
    }
    
    
    


    @objc func handlePanGestured(_ gesture: UIPanGestureRecognizer) {
        currentView = gesture.view
        
        let draggedView = gesture.view!
        view.bringSubviewToFront(draggedView)
        
        
        let translation = gesture.translation(in: view)
        draggedView.center = CGPoint(x: draggedView.center.x   translation.x, y: draggedView.center.y   translation.y)
        gesture.setTranslation(.zero, in: view)
    }
    @objc func copyObject(){
        
    }

 

}