Swift3 将UIView拖放到另一个视图中(UIPanGesture识别器)

Swift3 将UIView拖放到另一个视图中(UIPanGesture识别器),swift3,drag-and-drop,uipangesturerecognizer,nested-if,Swift3,Drag And Drop,Uipangesturerecognizer,Nested If,我正在尝试将屏幕上的UIView拖动到另一个UIView中 我在拖放时比较它们的帧以检查(bead1是否与帧中的孔1匹配) 我可以很好地拖放,但问题是当我拖动(bead2到孔2)bead1时,bead1自动放置在孔1中(就像代码中的第二个IF变为true) 请在以下功能中进行帮助: func draggingView(_ sender: UIPanGestureRecognizer){ let point = sender.location(in: view) let draggingView

我正在尝试将屏幕上的UIView拖动到另一个UIView中 我在拖放时比较它们的帧以检查(bead1是否与帧中的孔1匹配) 我可以很好地拖放,但问题是当我拖动(bead2到孔2)bead1时,bead1自动放置在孔1中(就像代码中的第二个IF变为true) 请在以下功能中进行帮助:

func draggingView(_ sender: UIPanGestureRecognizer){

let point = sender.location(in: view)
let draggingView = sender.view!
draggingView.center = point
print(point)
   if sender.state == .ended && bead1.frame.midX  != 
hole1.frame.midX  {
            print("false")
            bead1.center = CGPoint (x: view.frame.width / 2 - 25, y: 
  view.frame.height / 2)
           }
     if sender.state == .ended && bead1.frame.midX  == 
           hole1.frame.midX {
         bead1.center = hole1.center
         imageToShow.isHidden = false
        // sender.isEnabled = false
        print("True")
       }

  if sender.state == .ended && bead2.frame.minX - 10 != 
   hole2.frame.minX - 10{
    print("false")
    bead2.center = CGPoint (x: view.frame.width / 2 + 25, y: 
 view.frame.height / 2)
  }
 if sender.state == .ended && bead2.frame.minX - 10 == hole2.frame.midX 
 - 10{ 
 bead2.center = hole2.center
         imageToShow.isHidden = false
        // sender.isEnabled = false
        print("True")

  } 

 } 
我终于可以把它修好了。。 实际上,我需要检查一个UIView是否包含另一个UIView,然后将每个UIView与另一个UIView的标记进行比较(我需要为每个UIView设置一个标记),如下所示

    hole1.tag = 1
     bead1.tag = 1
     if hole1.tag == bead1.tag{
         print("Bead1 IS IN!")

     }else{
        print("bead1 IS OUT!!!!")
  }
然后 检查它是否包含其他人的中心

 if bead1.frame.contains(hole1.center)