Ios UIPINCHgestureRecognitor事件中的UIImageView抖动

Ios UIPINCHgestureRecognitor事件中的UIImageView抖动,ios,iphone,uiimageview,Ios,Iphone,Uiimageview,我使用Swift执行夹点操作iOS 8.1。 我参考了下面的链接,但是图像一点一点地上下左右晃动 这是我在UIViewController和sender.view中的代码,它是UIImageView func pinchedView(sender:UIPinchGestureRecognizer) { if sender.numberOfTouches() < 2 { return } if sender.state == UIGesture

我使用Swift执行夹点操作iOS 8.1。 我参考了下面的链接,但是图像一点一点地上下左右晃动

这是我在UIViewController和sender.view中的代码,它是UIImageView

func pinchedView(sender:UIPinchGestureRecognizer) {

    if sender.numberOfTouches() < 2 {
        return
    }

    if sender.state == UIGestureRecognizerState.Began {
        lastScale = 1.0
        lastPoint = sender.locationInView(sender.view)
        return
    }

    let scale = 1.0 - (lastScale - sender.scale)
    sender.view!.transform = CGAffineTransformScale(sender.view!.transform, scale, scale)

    let newPoint = sender.locationInView(sender.view)
    var translation = CGPoint()
    translation.x = newPoint.x - lastPoint.x
    translation.y = newPoint.y - lastPoint.y
    sender.view!.transform = CGAffineTransformTranslate(sender.view!.transform, translation.x, translation.y)

    lastPoint = sender.locationInView(sender.view)
    lastScale = sender.scale
}
func pinchedView(发送方:UIPinchGestureRecognizer){
如果发送方.numberoftouchs()<2{
返回
}
如果sender.state==UIGestureRecognitizerState.Start{
lastScale=1.0
lastPoint=sender.locationInView(sender.view)
返回
}
让比例=1.0-(lastScale-sender.scale)
sender.view!.transform=CGAffineTransformScale(sender.view!.transform,scale,scale)
让newPoint=sender.locationInView(sender.view)
var translation=CGPoint()
translation.x=newPoint.x-lastPoint.x
translation.y=newPoint.y-lastPoint.y
sender.view!.transform=CGAffineTransformTranslate(sender.view!.transform,translation.x,translation.y)
lastPoint=sender.locationInView(sender.view)
lastScale=sender.scale
}
为什么UIImageView会抖动?

而不是

sender.locationInView(sender.view)
试一试

locationInView似乎选择了一个未定义的触摸

sender.locationOfTouch(0, inView: sender.view)