Ios UIPINCHgestureRecognitor事件中的UIImageView抖动
我使用Swift执行夹点操作iOS 8.1。 我参考了下面的链接,但是图像一点一点地上下左右晃动 这是我在UIViewController和sender.view中的代码,它是UIImageViewIos 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
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)