2017-02-17 4 views
1

У меня есть 2 вида и обнаружение их столкновения с использованием следующего кода. Он работает нормально, если объект перемещается медленно, то есть он дает координаты в движении. Однако, когда представление бросается с высокой скоростью жестом, координация по середине становится незаметной. Я получаю только начальную и конечную координаты. Когда изображение 2 сталкивается, я хочу, чтобы они были как можно ближе друг к другу.Обнаружение последней центральной точки зрения перед ее столкновением с другим видом с помощью PanGestureRecognizer?

func handlePan(_ pan: UIPanGestureRecognizer) 
    { 
     let view = pan.view 
     switch pan.state 
     { 
     case .began, .changed, .possible, .ended: 
      let point = pan.translation(in: view?.superview) 
      print(point) 
      let viewPoint = CGPoint(x: (view?.center.x)! + point.x, y: (view?.center.y)!+point.y) 
      prevCenterB = viewBlue.center 
      prevCenterR = viewRed.center 
      view?.center = viewPoint 
      if (viewRed.frame.intersects(viewBlue.frame)) 
      { 
       print("Intersection") 
       let alert = UIAlertController(title: "Alert", message: "Collision of objects occured !!", preferredStyle: UIAlertControllerStyle.alert) 
       let actionOK = UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil) 
       let actionCancel = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: nil) 
       alert.addAction(actionOK) 
       alert.addAction(actionCancel) 
       self.present(alert, animated: true, completion: nil) 
       if view == viewRed 
       { 
        view?.center = prevCenterR! 
       } 
       else 
       { 
        view?.center = prevCenterB! 
       } 
      } 
      pan.setTranslation(.zero, in: view?.superview) 
      break 
     default: 
      break 
     } 

    } 

ответ

1

Может быть стоит иметь Распознать Ray Wenderlich's tutorial на UIKit Dynamics.

+0

Спасибо @Maarut. Я просмотрел учебник Рэя, но он дает мне способ обрабатывать объекты b/w столкновений. Но, я муравей, чтобы знать способ выяснить это, используя PANGesture. Дальнейшая помощь будет оценена! –

Смежные вопросы