2017-06-05 12 views
0

私は画面上のUIViewを別のUIViewの中にドラッグしようとしています ドラッグアンドドロップ中にフレームを比較して、(ビード1がフレームの穴1に一致しています) UIViewを別の(UIPanGestureレコグナイザ)の中にドラッグアンドドロップする

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") 

    } 

} 
:私はここで、関数の助けてください ドラッグとうまく落とし、私は(穴2にbead2)をドラッグしたときに問題がある(コード内で真になった第2のIFのように)自動的にHOLE1に置かれbead1することができます

答えて

0

私は最終的にそれを修正することができました.. 私は実際にUIViewに別のUIViewが含まれているかどうかをチェックし、各UIViewを別のタグと比較する必要がありました(タグを設定する必要がありました次..

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

    }else{ 
     print("bead1 IS OUT!!!!") 
    } 

、その後 チェックなどの一人ひとりのUIView)には、相手のセンターが含まれている場合

if bead1.frame.contains(hole1.center) 
関連する問題