2017-04-25 3 views
0

Viele Tutorial speichern die wie diese von der ersten Berührung koordinieren:UIPanGestureRecognizer: Wo ist die erste Berührung passiert?

func panHandler(_ sender: UIPanGestureRecognizer) { 

    if sender.state == .began 
    { 
     originalCenter = self.center 
    } 
} 

Ist es eine Möglichkeit, genau zu wissen, in welcher Position Berührung passiert ist, das heißt in dem System des Super koordinieren?

+0

Ja, wir können Berührungen bekommen Punkt durch Berührungen Protokolle begann. –

+1

Wie: 'originalCenter = sender.location (in: self.superview)'? –

Antwort

0

Versuchen Sie, diese

let gestureView = sender.view 
     let translation: CGPoint = sender.translation(in: gestureView) 
var initialCenter = gesture.location(in: sender.view 
      ) 
    if sender.state == .began { 

      print("begin") 


     } 
let point = CGPoint(x: CGFloat((initialCenter?.x)! + translation.x), y: CGFloat((initialCenter?.y)! + translation.y)) 
      print(point) 
0

Try this:

func panHandler(_ sender: UIPanGestureRecognizer) { 

     if sender.state == .began 
     { 
      print("locationOfBeganTap -> (.\(touch.locationInView(view).x - touch.translationInView(view).x), .\(touch.locationInView(view).y - touch.translationInView(view).y))") 
     } 
} 
Verwandte Themen