2016-07-08 70 views
1

我有这样的功能:斯威夫特复位transitionInView

func moveAxes(recognizer: UIPanGestureRecognizer) { 
    switch recognizer.state { 
    case .Changed: 
     var changePoint = recognizer.translationInView(self) 
     axesCenter = CGPoint(x: axesCenter.x + changePoint.x, y: axesCenter.y + changePoint.y) 

     print("x: \(changePoint.x) y: \(changePoint.y)") 
     changePoint.x = 0.0 
     changePoint.y = 0.0 
    default: 
     break 
    } 
} 

应该在我的UIView轴移动。问题是,

changePoint.x = 0.0 
changePoint.y = 0.0 

不重置覆盖的距离,它保持加起来,所以我的轴开始加速远离移动点。如何重置覆盖距离以避免此问题?

p.s. axesCenter被初始化为x: frame.midXy: frame.midY

回答

0

我已经通过切换这个解决我的问题:这个 recognizer.setTranslation(CGPoint(x: 0.0, y: 0.0), inView: self)

changePoint.x = 0.0 
changePoint.y = 0.0